Avorion

Avorion

Not enough ratings
Creating & Managing a Server With Game Server Manager
By jimbobslimbob
Takes you through the process of setting up an Avorion server with Game Server Manager - which automates things & provides a host of useful tools & features to make setting up & running your server easier.
   
Award
Favorite
Favorited
Unfavorite
Summary
This guide differs from others you may have read because of one important factor: the Game Server Manager program. This program automates things for you as a server owner and provides a host of useful tools and features to make setting up and running your server so much easier.

Game Server Manager features - an overview
- Automatic update checking and applying via SteamCMD (with configurable delay and server warning message)
- Players online graph
- Built-in Telnet and RCON client, which can be used manually or set to automatically send messages and commands (such as shutdown and shutdown notices) to the server
- Auto-restart if server goes down
- Message/command broadcast system
- Discord message broadcasting for server state and player changes.
- Player list showing everyone online, including ping, score, team and time online.
- INI File Parser, which displays a list of all ini file settings (across multiple files) in a list that you can sort, filter, edit, import and export as you wish.
- CPU and RAM usage display, with graph
- Network bandwidth monitor, with graph
- Ability to output status, players online and server name to a file - formatted however you want
- Single-click access to configuration.
- Detailed server information
- Internal and external IP address display
- Server up-time display
- Optional timed daily server restart.
- Timed incremental backups. Perform a daily backup of game data to a zip file.
- Automatically update game - Ability to run a maintenance / update program between restarts. e.g. SteamCMD to perform daily updates automatically. The server will start back up again when this program finished / ends so you minimise downtime.
- Option to delay timed restarts. i.e. The server will be turned off and the program will wait X seconds before attempting to restart it.
- Telnet to server
- 1 click backup and maintenance
- Remote commands to start, stop, backup, update and send commands to your server.
- Game Profiles - Multiple instances of the program can be run with multiple configurations.
- Designed to be "universal" and work with a multitude of games.
Initial Setup
Download The Game Server Manager

Head to this [www.jimbobslimbob.com]website to download my Game Server Manager[www.jimbobslimbob.com] program.

Extract the zip file to a location of your choosing and run the program.

Download SteamCMD

If you have not got it already, head to this site and download and extract SteamCMD.

Installing Avorion Server Files

Open GSM (Game Server Manager) and head to "Settings/Tools > Time Restart and Maintenance". Click the "..." button under "Program location" and select the location of your SteamCMD executable. This will set up GSM to use SteamCMD for updating.


Add the following command into the command-line parameters box at the bottom of the screen:

+login anonymous +force_install_dir "C:\Avorion" +app_update 565060 +quit
Replace C:\Avorion with wherever you want it installed

Run the maintenance program via the "Tools" tab and let SteamCMD update and install the game for you.

Port Forwarding and Firewall

You will need to forward the following ports (usually performed from your router's admin page) to the machine that you are hosting the server on:

27000 TCP and UDP (game traffic)
27003 UDP (queries)
27020 (Steam query port)
27021 (Steam port)

These are the default ports. If you alter them then don't forget to alter the port forwarding rules as well.

Remember, if you are hosting a game only for LAN play then port forwarding is not required. If you wish other users to join over the internet then this will need to be performed.

You will also have to ensure that the executable "AvorionServer.exe" (located in the "bin" subfolder under your main installation folder) is allowed through any firewalls you have active.

Setting It Up GSM

We now need to tell GSM some things about the server. Head to "Server Details" in the settings screen and select your Avorion "server.bat". Ensure you select ".bat" files at the bottom right of the dialog to see it. This is normally found in "C:\Program Files (x86)\Steam\steamapps\common\Avorion". if you installed the game to a different location, simply locate the required file from there.


To allow GSM to safely shutdown the server, head to the "Server Shutdown" tab and tick the boxes "Send keys to shutdown server" and "Send keys to other executable" then enter the following in the commands box:
/save
/stop






You will also probably want to add a delay of about 5 seconds (alter to suit your server) for the "Delay after shutdown command" to ensure GSM waits for the server to properly shut down before attempting anything else.

To get the program to correctly query it, enter the IP address of the server and the query port in the relevant field. If you are running your own server this would normally be "127.0.0.1:27020". If you have altered the default ports, you may need to do so here as well. The query port is 27020 by default.

Tick "Detect via query" in the "Monitoring" tab if you want the status of the server to be detected by a server query, rather than seeing if the program is running (recommended with Avorion).

Important:
For the GSM to be able to correctly query your server and retrieve information on it, you will have to ensure the following settings are set to "true" in your configuration file:
isPublic=true
isListed=true
isAuthenticated=true
useSteam=true

Please see the section (Server Configuration) for more information on how to perform the above.

Then go to the "Monitoring" tab and select "C:\windows\system32\cmd.exe" as the program under "Check the following program is running to determine server status" but do not tick the relevant box, since we want to determine its status via a server query.

Monitoring and restarting

It is recommended that you tick "Check server status, every" in the "Monitoring" tab under settings. You may want to increase the interval at which the check is performed if your server takes longer to be "ready". This actively monitors the server and updates the "Main" and "Players Online" tabs and gives you access to the following:

  • Automatically restarting the server if it goes down/crashes
  • Players online graph
  • Performance (RAM and CPU) graph
  • Network bandwidth graph
  • Ability to output the status to a file (to share or embed, for example)

Server Configuration

Further server configuration, such as the server name, password, max players etc. are located in the "server.ini" file, which you can edit with a program like Notepad. This is normally found in "C:\Users\***\AppData\Roaming\Avorion\galaxies\avorion_galaxy" (where *** is your Windows username).

Tip: It can be handy to set the server configuration file in the program's settings via Server Details > Server Config File (optional) to allow you quick access to it via Game Server Manager.

You can also edit the "server.bat" file in a text editor to alter or add additional settings. There is more information on additional command-line arguments on the official Wiki page[avorion.gamepedia.com].

Important:
For the GSM to be able to correctly query your server and retrieve information on it, you will have to ensure the following settings are set to "true" in your configuration file:
isPublic=true
isListed=true
isAuthenticated=true
useSteam=true

You should then be good to go.
General Use
To start the server simply click on "Start Server" on the "Main" tab. To stop the server, use the button next to start.

The main screen is split into tabs, showing different information on your server. Here you can see the number of players online, up-time, server status, performance and bandwidth details, graphs and access various tools and functions.

The Game Server Manager was designed to be highly configurable and there is many of things you can do with it. Some of those features are discussed in the sections below.
Backing up game data [Optional]
The program has a built in incremental backup system for game files. To use this you must set up the locations first.


Go to "Settings/Tools" and click "Program Settings". Navigate to the "Backup" tab. Click the button to the right of "Folder to backup" ("...") to browse for the Avorion game data folder.







The default folder for game data is normally found in "C:\Users\***\AppData\Roaming\Avorion\galaxies\avorion_galaxy" (where *** is your Windows username).

Note: The subfolder "avorion_galaxy" could be different if you have changed its name in the configuration file - make sure you are backing up the correct one!

Next set the location that you want the backups to be saved to in the box below.

Optional: if you want the program to automatically backup game data daily, you can set the relevant option in this screen. Simply tick "Backup data, at" and enter a time (24-hour clock).

You can then manually perform a backup by clicking "Backup Game Data" under the "Settings/Tools" tab.
Updating and timed restarts [Optional]
The program has a built in feature to restart a server at a specific time of day. This can be found in the "Timed Restart" tab under the program settings.


Set up the time you want this to be performed and tick the "Timed restart, at" tickbox if you want to do this.

Even if you do not wish to set a timed restart, you can still make use of this screen. By selecting a program and entering any optional command line parameters in the "Run a program before starting server" section, you can enable updating the server - either manually or automatically.

For example, if you use SteamCMD to update your game, select the SteamCMD executable here and enter any command line details in the relevant box (see Initial Setup section).

Once this is set, you now have the option to perform this action on timed restarts. It will do it all for you!

You can then also use "Run Maintenance Program" under the "Settings/Tools" tab to run this program manually at any time.

Additional tip: if you have also set a backup location you can use "Perform Maintenance Now" under the "Settings/Tools" tab to perform the following sequence:
1. Back up game data
2. Stop Server
3. Run the "maintenance" program
4. Start the server back up again.
Remote Commands [Optional]
Pseudo Remote Commands Via FTP/VPN (or other similar means)
This will allow you to start, stop, backup and run maintenance (update) your server remotely (regardless of any built in features a game has).

To do this you will need to have access to the folder that the program is running in via VPN, FTP or some other means. I will not cover how to do that here, since that is really another topic altogether. I will assume that for this guide, you already have access to the folder.

How to do it

The program periodically looks to see if any of the files listed below are sitting in the folder with it. If it sees any of them it will perform the corresponding actions (and remove the file). So, to perform any of the actions listed below all you have to do is create/copy a file into the Game Server Manager folder with the corresponding name (contents of file makes no difference). The program will see the file and perform the action. Simple as that!

Start the server
File: start.txt

Stop the server
File: stop.txt

Perform a backup
File: backup.txt

Full maintenance cycle (backup, stop server, run maintenance program, start server)
File: update.txt

Restart the server
File: restart.txt
NOTE: Ensure you have set a sufficient delay in the "Server Shutdown" tab or else the server may attempt to restart before it has properly shut down.

Restart the server with command-line parameter set #1
File: parm1.txt
The command-line parameter for this is set in the "Telnet Commands" tab. You can also access this feature via the "Quick Tasks" dropdown button on the "Main" tab.
NOTE: Ensure you have set a sufficient delay in the "Server Shutdown" tab or else the server may attempt to restart before it has properly shut down.

Restart the server with command-line parameter set #2
File: parm2.txt
The command-line parameter for this is set in the "Telnet Commands" tab. You can also access this feature via the "Quick Tasks" dropdown button on the "Main" tab.
NOTE: Ensure you have set a sufficient delay in the "Server Shutdown" tab or else the server may attempt to restart before it has properly shut down.

Send command(s) to the server
File: telnetsend.txt
The program will read all text in this file and send it to the server console (provided you set this up under "Initial Setup > Setting Up GSM")
Basic Port Forwarding Guide [Reference]
Basic (Generic) Guide

NOTE:You only need to perform port forwarding if your server is going to be accessed over the internet. If you are hosting a LAN game then it is not required.

1. Find your hosting machine's LAN (internal) - displayed on the "Main" tab of GSM.

2. Log into your router's admin page in a web browser. This is variable - but most router's by standard, have the details written on the device itself somewhere (a sticker). It will be something like 192.168.0.1 or 192.168.0.255... or whatever. You will undoubtedly require a password, which is no doubt also on the sticker. If there is nothing on the router itself then you may have to get in contact with your ISP (if it's an ISP's router) or Google for the default login details of your specific router model.

3. Once you are into the router's admin pages, search for something called "port forwarding" amongst the menus. Difficult to say exactly where it would be, since all routers are different. Again, Google may be your friend here.

4. Set up a "rule" under the port forwarding screen to direct UDP and TCP traffic from the required ports to the LAN address you found in #1.

5. Save the rules and you should be good go go.

Final Note: If your hosting machine is set up to dynamically retrieve a LAN address on your network then it is possible that subsequent boots will alter your LAN address and cause port forwards to be pointing to the wrong machine. If this happens, you can either alter the port forwards again, or, even better, change your LAN address to static (and set an address manually). Another Google[www.google.co.uk] can help you with this.

Port Forwarding Example Scenarios (Further Reading)

Friend (F) wants to connect to your server (S). To do this (since they are at another location other than your internal LAN) they have to "talk" to your server machine. Your router (R) is the first point of contact for anyone outside your LAN. So the router needs to know where the request from (F) is meant to go to. That's where port forwarding comes in. It's a rule, set on your router that tells it to route/forward all communication (on the specified ports) from (F) to (S). Without it, the router does not know where to send it and the data is "lost" - hence - no connection.

With port forwarding:
(F) Requests to join your server ----> (R) Tells it to forward data to (S) [Connection established]

Without port forwarding:
(F) Requests to join your server ----> (R) Has no idea where to send the data [Connection fails]

With port forwarding pointing to the wrong place:
(F) Requests to join your server ----> (R) Sends data to the wrong computer (not your server) [Connection fails]

Connecting via LAN (no port forwarding required):
Y = You (over LAN)
(Y) Requests to join your server with a LOCAL (LAN) IP address ----> (R) Knows where it should go straight away (you provided info) [Connection established]

Legend
(Y) = You
(F) = Friend
(S) = Your server
(R) = Your router
Troubleshooting
My friends cannot join the game
If you can connect locally but your friends cannot, it is almost always a firewall, Anti-Virus or port forwarding issue. Ensure all is configured as it should be.

Things to check:
1. Have you let the server executable through any firewalls you have (Windows, router etc.)? Remember that Windows firewall has 3 different "profiles" (Domain, Private and Public), so ensure you have the correct ones ticked - or tick them all. Also ensure it is allowed through in both directions (incoming and outgoing).

2. Have you port forwarded all the required ports to the correct local (internal/LAN) IP address of the server?

3. Is your server's local (internal/LAN) IP static? If not, it is liable to change on reboots and mess up your port forwarding rules. You should ideally set it to static to prevent any further changes. Either way, check to ensure your local IP has not altered and subsequently nullified your port forward rules.

4. Do you have any other software (Anti-virus or VLAN software like Hamachi) that could be interfering with network communication for the server?

5. Are you hosting on the same machine you are trying to join the game from? If so you may have a router incapable of "hairpinning"[en.wikipedia.org]. In such a case, connect to it via local IP, rather than external IP. There could also be a port conflict, so changing the game's ports is another worthwhile thing to try.

6. Is IPv6 disabled? Leaving it enabled can sometimes cause hosting problems.

Game Server Manager says my server is "Offline" when it is not
Ensure you have entered the correct IP address and port under Server Details (1) for the IP:Port of server to query. This should be "127.0.0.1:27020" by default, but if you have altered ports or are hosting on another IP address then you will need to change this.
Final Words
I hope this guide and the Game Server Manager was useful to you.

It may interest you to know that the program has been tried and tested not only with Avorion - it also works with Empyrion, 7 Days to Die, GRAV, Medieval Engineers and Space Engineers too. Infact, any game that uses the standard querying language should work with it.

I have also used it to a lesser capacity in hosting servers for Project Zomboid, Neverwinter Nights, Evochron Mercenary, Planet Explorers, Void Expanse and many more that I am sure I have forgotten.

Hopefully now you have read the guide, you will have a good understanding as to how it works if you want to try it out on other games.

The Game Server Manager program is being updated regularly by myself. It has all been done in my spare time, to aid server hosters.

I hope you enjoy your Avorion server!
86 Comments
Vygar 7 Nov, 2024 @ 5:40am 
Followed the guide as best I could considering it is outdated. Could not get the server to show-up when running under GSM. The server runs perfectly when running just the .bat file.
NPC 3 Jul, 2024 @ 1:29pm 
Finally got it all up and running, and once finished it's solid. And once you've done it once, it's super easy to repeat the process for pretty much any other SteamCMD-based game server. Thanks for making the app, jimbob! I hope you can find some time in the near future to update this guide so it better fits the current version, though.
NPC 2 Jul, 2024 @ 6:43pm 
Some notes to getting this working in 2024:

The current version of the GSM forces you to pick a server executable upon first start of the program - something you can't do if you're following this guide, because it assumes you have not yet installed the app! I just chose steamcmd, then changed it after Avorion got installed.

"Send keys to other executable" -> This doesn't exist on the tab it's shown in. Seems to have been moved to the "Automatic Commands" tab?

"enter the IP address of the server and the query port" -> this is a reference to two tabs ago

"you will have to ensure the following settings are set to "true" in your configuration file" -> this is unnecessarily mentioned in the monitoring section where it has no use
Vuyek 2 Jul, 2024 @ 6:40pm 
dont worry, changing the avorion.ini does nothing for single player server.

all parameters reset to default.

so aliveSectorsPerPlayer=500 will always stay at 500

enjoy
NPC 2 Jul, 2024 @ 6:10pm 
This guide is all over the place! Maybe I'm too ADHD to follow it, but it really, badly needs to be updated. The screenshots do not represent the current server manager tool, and the instructions jump willy nilly between tabs without any rhyme or reason. Following this guide using the current software is like playing a Where's Waldo book.
Vuyek 12 Jun, 2024 @ 11:31am 
hey, question for you guide creator.

I use notepad to change server.ini


I to change the aliveSectorsPerPlayer=500 to aliveSectorsPerPlayer=10


Problem - server.ini always reverts to default values, with every jump into a system.


With 500 alive sectors, game lags.



What can I do so that server.ini does not revert back to default?
Gunvarrel 30 Apr, 2024 @ 5:49pm 
Hey, I appreciate this tool and all, and I'm currently working through your guide to get it set up, however I gotta say I have some gripes with the layout of your guide. I'm not sure if this guide is old compared to the current version of GSM, but I've gotten "lost" a few times following it. For example when suggested to go to GSM's settings, it was never explained how to open the Settings window, instead implied that the settings were under a tab. Then later, "To get the program to correctly query it, enter the IP address of the server and the query port in the relevant field." was not specified to swap to the "server details" tab during this step, leading me to have to search for said relevant field.
I don't know if I'm just being a brainlet here or not, but think you could revise the guide to simplify things?
Karin 15 Feb, 2023 @ 8:37am 
can i use my DELL PowerEdge 2900 Intel Xeon E5430 with just 4GB Ram to host an Avorion Server? Or is this thing just plain to old?
generatedbyai 6 Jan, 2022 @ 6:30am 
The window size is fixed, and the setting screen ... ... in the settings screen is not available.