Arcemu Use Cases

From ArcEmu-Wiki
Revision as of 22:02, 5 November 2011 by Magnifikator (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
+/-
Main Page                   Other languages:   English  •   German   •   FrenchArcEmu Website     ArcEmu Forum     Bug Tracker

Contents


This page explains how to set up Arcemu for different use-cases.

If you haven't yet done so, first configure the settings that are common for all use-cases, you can find documentation here


Hosting on localhost

scenario

  • Single developer setup for local testing, server is hosted on the same machine as the client.
  • Fastest and easiest way of deploying Arcemu.


settings

  • The default network settings of Arcemu are tuned for this use-case, so no modification is necessary on the server part.
  • Set the client realmlist to 127.0.0.1



Hosting on a LAN

scenario

  • Single developer setup for local testing, server is hosted in the same private network as the client.


settings

  • By default Arcemu listens on all IP addresses of the computer it's hosted on, so no changes are neccessary.
  • Set the client realmlist to the IP address of the computer hosting the server.



Hosting publicly on the Internet

scenario

  • Single or multiple developer setup for hosting the server on a remote host.


Hosting publicly from a remote dedicated server

settings

  • Set the address of the realm in realms.conf to the IP address of the network card exposed to the Internet.
  • Set the realm list of the client(s) to the same IP address.


Ico info.png When using a Virtual Private Network (VPN) the setting is pretty much the same, except you need to set the realm's IP address and the client(s) realm list to the VPN interface address of the server




Hosting publicly from a home network behind NAT ( home gateway / router )

settings

  • For this scenario to work you will have to use at least a dynamic DNS address.
  • Set the address of the realm in realms.conf to the DNS address.
  • Set the realm list of the client(s) to the same address.
  • Create a hosts file entry in the client computer(s) that are inside the LAN, that resolves this DNS address to the LAN side IP address of the computer where you are hosting.


Ico info.png This workaround is necessary because the server sends the address field as it was typed, and most SOHO ( Small Or Home Office ) router devices don't allow connection from the inside to the outside IP address.


Hosting multiple realms

scenario

  • Multiple developer setup for hosting multiple copies, possible built from different code.
  • 1 Logon and multiple world servers.
Ico info.png You will need a total of X+1 copies of Arcemu for this, where X is the number of realms.



Ico info.png You will need a total of X character databases, one for each realm you set up.



settings

  • Install Arcemu as usual
  • Make a copy of the installation into X+1 number of new folders ( X is the number of realms ).
  • Set the "RealmCount" directive in the first (original) directory to X ( where X is the number of realms ).
  • Add the realms to the realm section of the realms.conf file of the first (original) directory, making sure that their ports are not the same.


Ico info.png A good port numbering scheme could be that you use 8129 as the port for the first realm and increase it by one for every realm.



  • Set up each realm's realms.conf file too.
    • Make sure that each realm's realms.conf file has 1 set as "RealmCount"
    • Make sure that each realm's realms.conf file has 1 realm, with the same settings as their entry in the first directory's realms.conf.
  • Set up each realm's world.conf file so that the "WorldServerPort" setting matches the port that you set in realms.conf for that realm.
  • Set up a separate character database for each realm, and make sure that the "CharacterDatabase" directive of world.conf points to each realm's own character database.
  • You can start up the servers by starting up the logon server in the first directory, and the world servers from each realm's directory.


differences when hosting the realms on different computers

  • Instead of making X+1 copies to different directories, you make those copies to different computers.
  • Set up the right IP addresses in the first machine's first directory's realms.conf file.
  • Add the IP addresses of the realms either individually or as a CIDR mask to the logon.conf file of the logon server, to the AllowedIPs, and AllowedModIPs variables.
  • Set the client realm list to the logon server's IP address.



Hosting using more than 1 computers

scenario

  • Rare use case considering nowadays' hardware, but possible.
  • Useful when there are already services, but the machine hosting them are too busy to host everything for Arcemu.
  • In this scenario there is a dedicated database server, dedicated logon server and dedicated world server.


settings

  • Set up the database server normally, import the Arcemu databases.
  • Set up the dedicated logon / world server's host computer like you would normally.
  • Configure the logon server and world server to connect to the dedicated database server in the database section of the logon.conf and world.conf files.
  • Set up the realms.conf file like you normally would for remote hosting.
  • Copy the same realms.conf to both servers.
  • Change the IP address in the "LogonServer Address" variable in the world server's realms.conf to the logon server's IP address.
  • Add the world server's IP address to the logon server's logon.conf file's "AllowedIPs" and "AllowedModIPs" variable.
  • Set the client's realm list to the logon server's IP address.


Final Words

  • Make sure to allow traffic thru the ports used by your servers in your firewall.
  • In the NAT scenario you will also need to set up port forwarding.


Ico info.png The default ports used by Arcemu are 3724 for the logon server and 8129 for the world server.


  • You will have to allow incoming traffic thru the inter-server connection port, if you are hosting the realms and the logon server on different machines.


Ico info.png The inter-server port is 8093 by default.



Ico info.png You can change this default port in the realms.conf file by setting the "ServerPort" variable to the desired port.



Ico info.png When hosting multiple realms on the same machine, you can save some space if you instead of copying all the DBCs, maps, and vmaps to every realm's directory, you just use symlinks



Next step

You have successfully configured your server, you're now ready to move on to the optional step of enabling Collision.

Personal tools