Arcemu Use Cases
|Main Page Other languages: English • German • FrenchArcEmu Website ArcEmu Forum Bug Tracker|
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
- Single developer setup for local testing, server is hosted on the same machine as the client.
- Fastest and easiest way of deploying Arcemu.
- 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
- Single developer setup for local testing, server is hosted in the same private network as the client.
- 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
- Single or multiple developer setup for hosting the server on a remote host.
Hosting publicly from a remote dedicated server
- 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.
Hosting publicly from a home network behind NAT ( home gateway / router )
- 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.
Hosting multiple realms
- Multiple developer setup for hosting multiple copies, possible built from different code.
- 1 Logon and multiple world servers.
- 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.
- 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
- 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.
- 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.
- 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.
- 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.
You have successfully configured your server, you're now ready to move on to the optional step of enabling Collision.