Skip to content

2025-11-12 3:25:15 AM

Status:

Tags:

Note

These instructions were written with Windows in mind but also work with Linux. You would just need to adjust the file paths in this guide to match the Linux file paths.

3 - Administrating

When you run a game server, it relies on something called TAMods-Server.dll, which is "responsible for all game-related settings, including server description, message of the day and password" according to Griffon26's documentation. I think it is also responsible for handling server administration, which is documented on the tamods.org website. Let it be clear that even though Griffon26's project is just called TAServer, it is still running TAMods-Server.

According to the tamods.org server documentation, administration is achieved by creating roles which you grant permissions to run certain commands. You customize these roles to your liking. You also assign a password to these roles, so they act as an account that you log into in order to issue the admin commands they have been granted access to. As far as I'm aware, you cannot run these commands directly in the server window(s), so you can only run these commands from within a game client that is running client-side TAMods.

So, first follow the knowledge base article that describes how to install Tribes: Ascend with client-side TAMods. Then, follow along below to figure out how to add a new role and grant it permissions.

Creating roles with permissions

  1. Open this file in a text editor: C:\Games\taserver-master\data\gamesettings\ootb\serverconfig.lua

Note

For GOTY, it's here: C:\Games\taserver-master\data\gamesettings\gotylike\serverconfig.lua

Find this:

local roles = {
--    {
--        name     = "admin",
--        password = "gotytest", -- <<< Set the password!
--        commands = {"NextMap", "NextMapName", "StartMap", "EndMap"},
--        canLua   = true, -- Admin can execute arbitrary Lua!
--    },
--    {
--        name     = "mod",
--        password = "moderator", -- <<< Set the password!
--        commands = {"NextMap", "NextMapName", "StartMap", "EndMap"},
--        canLua   = false,
--    },
}

And uncomment it so it looks like this:

local roles = {
    {
        name     = "admin",
        password = "gotytest", -- <<< Set the password!
        commands = {"NextMap", "NextMapName", "StartMap", "EndMap"},
        canLua   = true, -- Admin can execute arbitrary Lua!
    },
    {
        name     = "mod",
        password = "moderator", -- <<< Set the password!
        commands = {"NextMap", "NextMapName", "StartMap", "EndMap"},
        canLua   = false,
    },
}

And change the default passwords to something more secure. Now these two roles will be available to log into in-game via the TAMods client.

Logging into roles in-game and some notes on commands

Open the TAMods uber menu by pressing F1, then go down and select your role ("mod" by default), then login with the bottom option. Or just type it all yourself.

Then, you should be able to type commands like /srvcmd EndMap, /srvcmd StartMap, and selecting the next map.

Some notes I have from testing things out...

  • You need to re-login to your role for every map.
  • Commands are case-sensitive (i.e. /srvcmd EndMap not /srvcmd endmap).
  • If you set the next map to a specific map, the original order is still preserved but your selection just overrides the immediate next map. Example: The default map rotation is Katabatic, ArxNovena, DangerousCrossing, Crossfire, Drydock, Terminus, Sunstar. You are currently playing on Katabatic. You set the next map to Crossfire. Once Katabatic ends, Crossfire will come next. After Crossfire ends, DangerousCrossing comes next (assuming you didn't pick yet another map while playing on Crossfire). So ArxNovena just gets skipped basically.
  • Another example with that same map rotation from the bullet above...You're on Crossfire and you set the next map to Sunstar. Once on Sunstar, you set the next map to ArxNovena. After you play ArxNovena, the next map you'll get is Sunstar again. So, you skipped Drydock and Terminus because they were replaced in the lineup by Sunstar and ArxNovena respectively when you ran the commands.
  • It seems buggy if I try to run map commands while dead. For example, if I end a map while dead, it freezes up and kicks me back out to the menu. Then, when I join the server again I can't run any TAMods maps commands. Logging in just freezes the game. I have to restart the game server when this happens.
  • After research, it does appear that votekick is currently the only way players can be kicked in TAMods Server and it results in an 8-hour ban from the server if successful. The login server is what handles the ban process, but I'm not sure if the ban is for the login server or the game server. Based on some Discord chat messages from Frogkabobs and Ronin, it seems that it prevents login for 8 hours. I think it would be better if it was per game server. Anyway, it seems that the "mod" role is just for starting, ending, and selecting next maps. The "admin" role is the same but it also has the ability to execute arbitrary lua. I'm not sure what the implications of that are, but I'm guessing you might be able to build your own insta-kick/insta-ban commands that the admin could use via that arbitrary lua power.
  • You can kick via player ID. First, type /playerlist to get the list of players and their corresponding IDs. Then, /kickvoteid <ID> with their player ID to initiate the votekick.

References