Create A Server
How to host an Assist 25 server Written by {GcC}Bockmist and {GcC}Dinouso – [email protected] – inputs are welcome
Contents
- 1 What do you need?
- 2 Computer Hardware
- 3 Network
- 4 Router / Firewall
- 5 OS
- 6 Implementing Server
- 7 Create Server
- 8 Server Name
- 9 Color for server
- 10 What map to run
- 11 Admin email + Admin name
- 12 Port
- 13 Process ID
- 14 Multihome
- 15 Admin Password
- 16 Game Password
- 17 Player Slots /Rounds match / Round length
- 18 Playeradmin
- 19 Motd
- 20 Configure Router / Firewall
- 21 Port forwarding
- 22 NAT Loopback
- 23 Start server
- 24 Register server on battletracker.com
- 25 Server optimization
- 26 Little useful windows bat scripts
- 27 Start all Assist 25 server
- 28 Distribute your Banlist.txt to all server
- 29 Network Introduction
- 30 NAT
- 31 Port forwarding
- 32 NAT loopback
What do you need?
Computer Hardware
An Assist 25 Server doesn’t need much resources. The RAM has a constant usage and the CPU depends on the number of players which play on the server
- CPU
You can easily use a Dual Core Processor. If you want to host a lot of servers, then check in your computers resource manager what a server with your settings need, when he’s busy.
- RAM
For sure you have no problems when you calculate 2 50 MB per server.
With this hardware you can host you server. It’s your choice if you want to use 7x24 useful hardware or otherwise maybe a notebook. But consider that there is more guarantee for a solid server when you use a proper hardware design.
Network
You have to have a decent network connection with a constant good upload speed. The assist server doesn’t need much upload bandwidth, but if the upload bandwidth is busy, your server will be too laggy.
- Network
A 1Mbit upload link should exist if you really wanna exclude laggy network problems.
Don’t use WLAN, Powerline or other solutions like that. Connect your server directly to your router or to your LAN Switch.
Router / Firewall
You’re Router / Firewall has to support following things:
- NAT - Port Forwarding - NAT Loopback
This features are explained in the Chapter Network Introduction
A list of supported NAT Loopback Routers do you find here. http://opensimulator.org/wiki/NAT_Loopback_Routers
OS
The Assist25 Server Manager is compatible with Windows and Linux.
Implementing Server
Get the source Download the Assist Server Manager from http://aao25.com/
Create Server
Open the Assist Server Manager and Click on
- Create a new server
The Assist Server Manager download now the server sources (some Gigabytes). After that, you have a functional server with default configs. Here a quick Guide for the most important fields.Notice that these are only basic configurations and it’s not a guide to do advanced server settings.
Server Name
The server will appear with this name in the Assist Client. Use different names, if you want to host more than 1 server.
Color for server
The server will appear with this color in the Assist Client. You have to put in the colors in RGB format.
What map to run
Choose your map for the server.
Admin email + Admin name
You will see this on a running server. It appears on the Server Info Tab.
Port
This is a very important field. You can choose a port for your game server. Some vital points:
- 0-1023 are reserved (well known) ports
- The port have to be higher than 1023
- Don’t use the same port for several servers
- When you use for example the port 1716 (game port), the port 1717 (query port) is used too
That means don’t use the port "game port+1"
- When you use the default port and you play with the assist client on the same machine
start the server before the client
Process ID
You can use the default process ID. If you create more than 1 server, all servers have to have a different process ID.
Multihome
If your computer has more than one NIC, and so more than one IP, you have to fill in the IP adress which belongs to your assist 25 server. If you have a normal device with one NIC you can use the default config.
Admin Password
You can set a password to logon as admin
Game Password
You can set a password to join to the server. Leave it blank if you want no password on your server.
Player Slots /Rounds match / Round length
With this settings you can decide how many players can join your server, how many rounds contains a match and how many minutes one round takes.
Playeradmin
Add your Assist 25 player name and click Add. So you are automatically admin when you join your server.
Motd
You can use the 3 motd lines to publish messages to the chatline of your server. If you want your server to repeat this message, check the repeat message checkbox and define a repeatminutes value. The messages will be published in the minute’s cycle of your repeatminutes value.
Configure Router / Firewall
Now you have to configure your Router / Firewall. We have to do 2 important things.
- Port forwarding and checking firewall rules - Enable NAT Loopback
This features are explained in the Chapter Network Introduction
In this guide we assume that your router / firewall allows all outbound traffic. That’s the most default configuration of all home routers / firewalls.
Port forwarding
Go to your router web interface and configure the following port forwarding rules. In this example we use the default game port 1716 and the game server’s ip is 192.168.1.99
- Forward the port 1716(UDP-game port)and 1717(UDP-query port)to your gameserver 192.168.1.99
Summarized, this gives this port forwarding rule for all possibilities.
- Forward Gameport and Gameport + 1 to your game servers ip
Most of Routers / Firewalls create automatically a firewall rule, which allows the traffic of this port forwarding rule. If your router doesn’t create this rule, you have to allow the traffic on this ports between WAN and your game server. That’s all you have to do on the router, that your game server can be connected from the internet. To connect the server from the same LAN,you have to use NAT Loopback(next chapter).
NAT Loopback
To connect your server from the internal LAN you have to enable NAT Loopback on your router /firewall. The configuration is different and depends on the device model. Some devices do it automatically and on other devices you have to enable it. If you don’t know how to enable this feature, google about it or look in the manual and you will find the solution. Of course your model has to support this feature.
Start server
Now you can start the server in the assist server manager. A window opens where you can follow the server activity. Your windows firewall will automatically ask you to add rules for the windows firewall. Accept them and you have nothing to do more. The first start of the server will take a longer time because the server has to initialize the first time. The second start will be done much faster. The server is ready when you see the AuthOK messages. Wait some minutes and you will see the server in Assist25. Now your server is running fine and people can join your server.
Register server on battletracker.com
Now you have to register your server on www.battletracker.com
Log in with your credentials and click this:
- My Profile
- Management
- Register server Here
You can register your new server. Fill in with these informations.
- Server IP Address
- your WAN IP
- Server Game Port
- the port you configured in the assist server manager
- Server Query Port
- the port you configured in the assist server manager +1
Then click on Submit and your server will start tracking in a few minutes.
Server optimization
To run your server with an optimized performance, we recommend the video of Revuka: http://www.youtube.com/watch?v=dFUIwj17pt0
Little useful windows bat scripts
Start all Assist 25 server
You can start all Assist 25 servers with an easy windows bat file like this: start "" /high "C:\Data\AA2_Server\Server0\System\server.exe" Border start "" /high "C:\Data\AA2_Server\Server1\System\server.exe" SFExtraction start "" /high "C:\Data\AA2_Server\Server2\System\server.exe" MP_Pool_Day
You only need the Mapname parameter. All other stuff is in the aao25.ini file. The /high parameter starts your server with high priority.
Distribute your Banlist.txt to all server
To distribute the ban list from one point to all servers, you can do this like this: copy C:\sourcebanlist\BanList.txt C:\Data\AA2_Server\AA2_Server\Server0\System copy C:\sourcebanlist\BanList.txt C:\Data\AA2_Server\AA2_Server\Server1\System copy C:\sourcebanlist\BanList.txt C:\Data\AA2_Server\AA2_Server\Server2\System
Network Introduction
Short summary here: NAT enables the packets to find the server again if the server has sent some to a client. Port forwarding enables a client to connect to the server even if no communication from the server to the client has occurred before.
NAT
NAT (Network address translation) is the service, which translates your internal server (LAN) ip (e.g. 192.168.0.100)and the associated Port (e.g.1716)into your WAN ip (e.g.212.212.212.100) given by your ISP (provider).
NAT works only if the first request comes from inside of your network. To make sure your server is reachable from the outside (WAN) you have to do a port forwarding.
Port forwarding
Port forwarding (aka virtual server) enables you to connect to a server/ computer in your network, even if no outgoing communication has occurred before. For instance you want to connect your server on the WAN ip 212.212.212.100 on port 1716, the port forwarding rule enables the packets to find the server (192.168.0.100) in your network.
NAT loopback
Now we come to the crucial part of NAT and port forwarding. For better understanding what’s the problem here, look at this little scenario: Router: 192.168.0.1 Computer: 192.168.0.50 Server: 192.168.0.100 WAN IP: 212.212.212.100, NAT to server and port 1617 forwarded to server Computer to Router [192.168.0.50->212.212.212.100] Router changes the destination to 192.168.0.50 because our NAT and port forwarding rules Router to Server [192.168.0.50->192.168.0.100] Server attempts to respond to the packet by sending to the source IP (192.168.0.50). Server to Router [192.168.0.100-> 192.168.0.50] Router to Computer [192.168.0.100-> 192.168.0.50] Computer: WTF? Computer was expecting a reply from 212.212.212.100, got one from 192.168.0.100 instead. Addresses don't match, connection failure. The problem here is that our NAT rule messes up our communication. But the router does nothing wrong, he acts like we told him. To solve this problem we need to enable NAT Loopback. Some Routers do NAT Loopback themselves, some have a switch to enable it and others need a separate configured NAT with the reverse configuration from the NAT we configured to forward your server to the wan. If we go on with the above scenario, on the point the server replays to the computer: Server to Router [192.168.0.100-> 192.168.0.50] The router now knows that he translated the packets before form 212.212.212.100 to 192.168.0.100. So he translates the source back to 212.212.212.100. Router to Computer [212.212.212.100-> 192.168.0.50] Computer: Happy
The computer never notices that the destination was changed and receives the respond from the expected ip.