Setting Up Multiple Armagetron Servers the Easy Way
The Really Easy Way
There is now a docker image provided at: https://hub.docker.com/r/codefossa/armagetronad
Sample docker compose setup using the above image (Note that this has been modified a bit since uploading, new version pending): https://github.com/lavamoulton/armagetronad-docker-compose
Introduction
This "tutorial" will not explain how things work, or how the server is actually set up. I've created scripts that will do almost all of the work for you. If you want to see how to actually set it up yourself, you may want to check out Running Multiple Servers on a single Linux computer or Running Multiple Servers In a Single Ubuntu Computer. There you can find out more about what is going on in these scripts.
Requirements
A Debian distro. This could be Debian, Ubuntu, Mint, etc.
Root Access (Able to use "su" command)
The ability to type exactly what I put in the code boxes.
Creating a User
If you already have a user with a home directory inside of /home/{USER} then you may skip this step. It's been brought to my attention that Ubuntu server VPS's are often given without an account to use other than root.
Replace USERNAME with the username you wish to use. This will be important later on.
adduser USERNAME
If not logged in as root, but still want a new account for the servers.
sudo adduser USERNAME
If you're logged in as this user, you might also want to add it to the Sudo'ers file:
sudo usermod -aG sudo USERNAME
Installing the Server
For sty+ct+ap:
wget armanelgtron.tk/aa/install/ap.sh -O install.sh . install.sh
For 0.4:
wget armanelgtron.tk/aa/install/0.4.sh -O install.sh . install.sh
For sty+ct:
wget resource.armagetronad.net/resource/install.sh -O install.sh . install.sh
It will prompt you for your root password, followed by your username. The username is the name you log in under, for example tom owns /home/tom/, and tom would be the username.
Setting Up Necessary Files
This will create the scripts necessary to run the server, and your first server.
wget resource.armagetronad.net/resource/setup.sh -O setup.sh . setup.sh
Again, use your root password and the same username as before.
Files to Edit
Just a Suggestion The server folder generated can be a base for all servers you create. I would copy and paste it if you don't wish to redo everything in there yourself.
Directory: ~/armagetronad
This is the main server directory. Everything needed is inside here.
File: servers/myServer/config/aiplayers.cfg
This is the config for your AI players. You can change things such as their name in this file.
File: servers/myServer/language/custom.txt
Change the default messages outputted by the server.
Directory: servers/myServer/resource
For the most part, you don't really need to mess with this folder. The server automatically downloads files such as maps and configs and will store them here as a sort of cache, rather than downloading them every time.
File: servers/myServer/scripts/script.php
The generated PHP script. There are scripts available in different places, like the Armagetron forums, and probably on some server hosts' sites. You can add them here, but don't forget to enable it in the settings_custom.cfg so it runs when you boot the server.
File: servers/myServer/settings/script.cfg
This will just kill the script if it's running, and start it back up.
File: servers/myServer/settings/server_info.cfg
One of your most important files, it will be where you add things such as the server name, port, options, etc. You also add user authentication levels here, where 0 is owner, 1 administrator, 2 moderator, 15 logged in, and 20 regular player.
File: servers/myServer/settings/settings_custom.cfg
The other most important file, where you add the server settings. Note that at the top of the file, I've included my base settings. This will get your server up and running on the master list, and allow users to log in. It also sets defaults for a few commands and other settings. Feel free to change anything you want by adding the command and value below the RINCLUDE line.
Starting & Stopping the Server
Boot / Restart All Servers
cd /home/USERNAME/armagetronad/scripts sudo -s -u USERNAME . boot.sh
Boot / Restart A Single Server
cd /home/USERNAME/armagetronad/scripts sudo -s -u USERNAME . boot.sh myServer
Kill All Servers
cd /home/USERNAME/armagetronad/scripts sudo -s -u USERNAME . kill.sh
Kill A Single Server
cd /home/USERNAME/armagetronad/scripts sudo -s -u USERNAME . kill.sh myServer
Note that the parameters used are the folder names under ~/armagetronad/servers/
Credits & Questions
The scripts and tutorial here was written by Light@forums. If you have any questions or problems, feel free to message me on the Armagetron Forums.
If you get any errors in the scripts or have problems setting up, please let me know so I can fix it.