If you want to run a game server and have it show up in the server list for players who connect to the replacement login server, follow these steps:
-
Make sure Tribes Ascend and its prerequisites have been installed
-
Get the code for this project from github
-
Install the x86 version of the Visual C++ Redistributable for Visual Studio 2015. It contains
msvcp140.dll
, which is needed by TAMods-Server and the UDP proxy used by the firewall script. -
Install python 3.
It is recommended during installation to include the py launcher (to be able to start scripts without running them as python ) and to have python added to the PATH environment variable, see below image (so you can start python and pip without having to type the full path to the executables). If you don't do this then remember to specify python.exe or even something like C:\Program Files (x86)\Python36\python whenever the instructions tell you to run a script. The py launcher should be included by default.
-
Install the gevent and certifi modules for python. From an administrator command prompt you should be able to do it with:
pip install -r requirements.txt
You may have to specify the full path. Something like:
C:\Program Files (x86)\Python36\Scripts\pip install -r requirements.txt
-
Modify
dir
under the[gameserver]
section indata/gameserverlauncher.ini
to point to the directory where your TribesAscend.exe is located. For instance:C:\Games\Tribes Ascend\Binaries\Win32
-
Open an administrator command prompt and go to the directory containing the taserver files
-
Run the
download_compatible_controller.py
script to download the latest compatible version ofTAMods-Server.dll
. TAMods-Server is responsible for all game-related settings, including server description, message of the day and password. Consult the TAMods-Server documentation on how to change any of these. -
Run the
download_udpproxy.py
script to download theudpproxy.exe
program used by the taserver firewall script. This is a precompiled version of the C++ source code in theudpproxy
subdirectory. -
As an administrator run
start_taserver_firewall.py
in the root of this repository. This is very important. This script will manage firewall rules to keep kicked players out and only allow logged in players on the game server. Without this script running you will not be able to get rid of hackers that are normally "unkickable".You will need to run the firewall everytime you want to run the server.
-
If the game server is running behind a router, you'll need to forward the following ports to the game server:
- 7777/UDP
- 7777/TCP
- 7778/UDP
- 7778/TCP
- 9002/UDP
Do not manually open these ports in the firewall on the machine where the game server runs, otherwise votekick may not work correctly. taserver itself will manage the firewall rules
In the router, you will need to redirect those ports to the machine you are hosting the server on. If you don't know how to get the ip for this machine, open a command prompt and type
ipconfig
and checkIPv4 address
.If you skip this step, no one will be able join your server.
-
Go into the
.../taserver/data/gamesettings/ootb
folder and open the
serverconfig.lua
file with your favorite text editor to change your server settings, like server name, message of the day and other settings. You don't need to restart the server everytime and make changes to this file. The settings will be applied on the next map change. -
Open a second command prompt (doesn't need to be an administrator one) and go to the directory containing the taserver files.
You can also shift+right click an empty space in the folder containing the server files and select
Open PowerShell here
. -
Start the game server launcher by running the
start_game_server_launcher.py
script in the root of this repository.
Your server should now show up in the list for anyone connecting to the login server. Try it out by following the instructions under Joining games
Note : If you host the server on your main computer and are using TAMods, make sure you inject it by Process ID (in the advanced tab) and not by name. Otherwise, it could accidentally inject the server and it might crash.
The server is in OOTB mode by default. If you want to run it in GOTY mode instead there are two more steps below.
-
Run the
download_gotylike.py
script to automatically download mcoot's GOTY-like server configuration -
Edit
data/gameserverlauncher.ini
and replace:controller_config = data\gamesettings\ootb\serverconfig.lua
with
controller_config = data\gamesettings\gotylike\serverconfig.lua
Read more about GOTY and how people can join GOTY servers on this page.
If you're interested in running more than one game server on a single machine then read here how to do that.