TO Server Download

Includes all popular TO server addons: TOST, ACE, Nexgen + Plugins, MapVoteUL and more. At the bottom of the page are instructions to disable any if desired.

These server files were made in collaboration with "Carnitarian", he also made the PDF with Linux specific instructions that's included. "Spike" helped with some linux testing/stuff and also made a PDF guide, and "Lumi" and "L4UR3NS" also helped with some testing. Its shaping up to be the ultimate outdated old Server Pack replacer.

Tip: Since the server fileset is Win/Linux compatible, its possible to build/configure/test the server on Windows and afterwards zip it up and send it to your linux host.


The server config files have been created from a blank file with only the absolute minimum needed to start a server, with this method both the TO3.4 and TO3.5 configs have been "recreated" from freshly generated sections.

This created the cleanest and most minimalistic server configs ever with all client settings removed. All server settings and all the server addons have been pre-configured so the servers are ready to start after unzipping.


Only For TO340 Server
• TOST v4.2.4.0
• TOST Weapons v1.4.0.0
• TOST Tools v1.3.4.0

Only For TO350 Server
• TOST v4.4.2.5
• TOST Weapons v2.1.1.1

For Both TO340 and TO350 Server
• Config and Start files
• MapVote Ultimate v2.4
• ACE v1.2e
• Nexgen v1.13
• Nexgen Player Lookup v2.03
• Nexgen Advanced Ban Manager v2.05
• Nexgen ACE Extension v12.3
• TechsNoDodge


TOST - Tactical Ops Server Tools. This server actor saves playerdata and restores it on reconnection, as well as providing an enhanced HUD, and a number of new admin commands implemented in an ingame admin interface.

TOST Weapons - Plugin for TOST that gives more control over which team can use each weapon and on what maps they are allowed. Can also add Gas Grenade, Night Vision and the old TO2 Famas and TO2 SteyrAug weapons.

Techs No Dodge - Prevents players with a modified User.ini to UT99 dodge jump on the server.

Nexgen - Nexgen is a mod for servers to facilitate server administration tasks. Rather than having to execute console commands or edit configuration files, Nexgen allows server administrators to change settings and perform actions in game via an user friendly interface. Nexgen also provides several useful features that are commonly desired, such as spawn protection, message logging and a ban system.

Nexgen Player Lookup Plugin - Nexgen Player Lookup is a plugin for Nexgen which offers a database system. It will keep track of every single player who ever connected to your server and stores all important data. This helps in detecting players faking others or banned players who are trying re-enter the server with different ID's, but that's a manual task.

Nexgen Advanced Ban Manager Plugin - The main goal of the Nexgen Advanced Ban Manager is to improve the existing ban system in Nexgen. It offers reliable functions to keep unwanted players out permanently, as it makes use of the hardware Information detected by ACE. On top of that it also includes the ability to ban via the player's hostname. Both, IP and hostname bans offer support for Ban Masks, which allow range banning and precise specifications.

Nexgen ACE Extension Plugin - Mostly useful for its GUI front-end for both client-side ACE settings as well as ACE admin features.

MapVote Ultimate - Instead of the classic but outdated TOSTMapvote the servers are configured to use MapVoteUL v2.4. It has 8 scrollable vote lists, search function, player vote-kick function and can show screenshots from cached/installed maps.

2. Edit Admin Passwords

Edit the admin passwords in TacticalOps-Server.ini, search for "adminpw" and change the values.

Do this easily by pressing CTRL+F in notepad, there are 3 different password types: Main Admin, Semi Admin and Ace Screenshot.

3. Start Files + First Startup

First Server Startup: Start the Server from /System/TOServer.bat on Windows or /System/TOServer.sh on Linux.

The start files do not define the Port, Gametype, Startup Map etc. They are all configured in the server config, this way all values can always be edited from ingame as Main Admin with the "admin set" commands. Its still possible to activate mutators from LocalMap= in the server config, if for some reason you disable TOST.

4. Firewall/Modem/Router Ports

Make sure you have the correct ports opened in your Firewall and forwarded in your Modem/Router when hosting from home. To run the server locally for testing or as a LAN Server on Windows it shouldn't be needed to forward any ports.

Port List
7777 / 7778 / 7779 - TCP & UDP (Game & Query ports)
27900 - TCP & UDP (Master Server Uplink)
6665 / 6666 / 6667 - TCP & UDP (ACE)

Multiple Servers 1 Machine - When hosting multiple TO/UT servers from 1 machine make sure to set different Game & Query and ACE Ports for each server.

The Game & Query Ports are configured by the Port value in the [URL] section. It automatically takes the next +2 ports above the one configured. If you set this to example port 8888 you must also forward 8889 and 8890.

[URL]
...
Port=7777

To port ACE uses is configured in the [ACEv12e_S.ACEActor] section.

[ACEv12e_S.ACEActor]
...
ACEPort=6666

Sometimes on Windows the ACE port might jump around ±1 on reboots, so it's recommended to also forward the port above and below to what is configured.

5. Ingame Admin & Basic Server Settings

To login as Main Admin use console command: adminlogin adminpw
Log out as Main Admin: adminlogout

To login as Semi Admin use console command: salogin adminpw
Log out as Semi Admin: salogout

TOST: The TOST settings can be changed logged in as admin and using following console commands:
showadmintab, showgametab and showweapontab (In TO3.5 they only work from the "Tab Mini Console")

Nexgen: You can access the Nexgen settings by saying (with x): !o or !open
There is a button in the right bottom corner where you can log in with the Main Admin password.
After logging in for the first time in Nexgen you will reconnect to the server and have access to its Admin Menus.

IMPORTANT: Previously in TO server things as Server Title, Admin Name and the MOTD were configured in the server.ini or from the TOST Admin Tab. Since we are using Nexgen these things are now configured in Nexgen or from Nexgen.ini alternatively.

6. Mapvote and Adding/Removing Maps

The showvotetab command no longer works and instead the new mapvote is opened by saying (x): !v or !vote

IMPORTANT: The mapvote saves the maplist into MapListTemp.ini, this file must be generated by logging in as Main Admin, opening the mapvote and in the Admin Tab clicking on "Reload Maps". To install or remove maps, add/remove them from the Maps folder and reload the map list.

7. Optional - Removing Included Addons/Mutators

First disable ACE, in section [Engine.GameEngine] remove these ServerPackages:

ServerPackages=NPLoader_v19b
ServerPackages=NPLoaderLLU_v18b
ServerPackages=NPLoaderLLD_v18b
ServerPackages=NPLoaderLLS_v18b
ServerPackages=NPLoaderLLDL_v18b
ServerPackages=ACEv12e_Cdll
ServerPackages=IACEv12
ServerPackages=ACEv12e_C

In section [Engine.GameEngine] remove these SeverActors:

ServerActors=NPLoader_v19b.NPLActor
ServerActors=ACEv12e_S.ACEActor
ServerActors=ACEv12e_EH.ACEEventActor

Note: If not all packages and actors are removed there is a change it will automatically re-enable itself by writing back its packages/actors.

Second disable the Nexgen ACE plugin, in section [Engine.GameEngine] remove the ServerPackage:

ServerPackages=NexgenACEExt12_2
And the ServerActor in section [Engine.GameEngine]:
ServerActors=NexgenACEExt12_2.NexgenACEExt


It is not recommended to disable Nexgen+Plugins as it and ACE make it easier to manage the server.

Nexgen also makes it possible for players to open the MapVoteUL mapvote by saying !v and !vote, else it can only be opened manually from the console. (With command: mutate bdbmapvote votemenu)

In section [Engine.GameEngine] remove these ServerPackages:

ServerPackages=NexgenCC
ServerPackages=Nexgen113
ServerPackages=NexgenABM205
ServerPackages=NexgenACEExt12_3
ServerPackages=NexgenPlayerLookup203

In section [Engine.GameEngine] remove these SeverActors:

ServerActors=Nexgen113.NexgenActor
ServerActors=NexgenABM205.NexgenABMMain
ServerActors=NexgenACEExt12_3.NexgenACEExt
ServerActors=NexgenPlayerLookup203.NexgenPlayerLookup
ServerActors=NexgenPlayerLookupDataBase.NexgenPlayerLookupDataBase


In section [Engine.GameEngine] remove the MapVoteUL ServerPackage:

ServerPackages=MapVoteULv2_4

In section [TOST42.TOSTServerActor] remove the MapVoteUL Mutator:

Mutators[0]=MapVoteULv2_4.BDBMapVote

Re-enable back the TOST Map Vote in section [TOST42.TOSTServerMutator]:

Pieces[10]=TOSTTools.TOSTMapHandling

Note: The TOST Map Handling settings are not pre-configured as it's disabled by default. It will load on its original unmodified settings that might need editing for best functionality.


ESE is not supported on the v469c TO350 client and when using it as a server, therefore it's viewed as obsolete. Luckily the ACE+Nexgen+Plugins combination is the prefered method since 2020+ as it has its advantages.

The files are left in the server patch and in theory it could be enabled by decommenting the ESE pieces in the TOST Piece List and setting the ESESupport as ServerPackage.

8. Optional - More Info

Original v436 UT99 runs 20TR (TickRate), the v469c patch increased this to 65TR. For TO it used to be recommended to run 35 on Windows and 40-42 on Linux.

By default TO3.4 has been set to 61TR and TO3.5 to 41TR in the server configs, the higher TO3.4 TR requires more cpu performance and network bandwidth compared to 40-41TR.

TO3.4 vs TO3.5 TickRate Difference

TO3.4 has been tested to work good on 60TR, possibly because its a multiple of the original 20TR from UT99. TO3.5 behaves more like UT99, its much more susceptible to the TR having impact on the firerate of weapons.

This might have been improved or fixed in v469c, but testing a year ago concluded TO3.5 "doesn't perform" good on 60TR. Therefor it's not recommended set over 40TR on TO3.5, it might just be best to stick to the original 35 Win and 40-42 Linux recommended values.

How To Change The TickRate

Console command usable as Main Admin:

admin set IpDrv.TcpNetDriver NetServerMaxTickRate ##
admin set IpDrv.TcpNetDriver LanServerMaxTickRate ##

Manually in the server config file:

[IpDrv.TcpNetDriver]
...
NetServerMaxTickRate=61
LanServerMaxTickRate=61
Finetuning TickRate Ingame

Different hardware or OS can behave slightly different to the configured TR value. Its possible to need to set the TR +1 or +2 higher to get it on the proper effective value ingame.

A Windows machine might need a 62 configured tickrate to get effectively 60TR highest % of time, as it might bounce slightly depending on the OS/Hardware. Same for Linux you might need to test 40, 41 or 42 to get it on 40TR ingame.

The console commands to change the TR can be used ingame and will change it live on the server. So you login as Main Admin, have the console commands ready and open the F6 HUD to see the effective TR ingame when connected to the server.

Then you modify the value untill you are happy with the result you see on F6, this could be impacted by an empty vs full server and the on the performance/hardware of the server.


By default in the configs most types of logging is disabled except the ACE Logs to save on performance.

The ACE Logs and Screenshots are stored seperately in the /ACE/Shots/ and /ACE/Logs/ directories. All others are placed into the main /Logs/ folder.

Most logging directories can be configured from the appropriate config section.

Enable Engine Logs

[Engine.GameInfo]
...
bLocalLog=False
bWorldLog=False

Enable TOST Logs

[TOST42.TOSTServerMutator]
...
TOSTLogEnabled=False

Enable Nexgen Logs

[Nexgen112.NexgenConfigExt]
...
logEvents=False
logSystemMessages=False
logChatMessages=False
logPrivateMessages=False
logAdminActions=False
logToConsole=True
logToFile=False

(Advanced) DISABLE Script Warnings & Logs

Placebo setting said to improve server performance, uncomment the existing values in the server config.

[Core.System]
...
;Suppress=ScriptWarning
;Suppress=ScriptLog


To create Weapon Profiles for TOST Weapons log in as Admin in your server and open "showweapontab" from the console.

From this menu you can select which weapons and equipment are allowed, free or limited to which team etc. Then on the final page you can Save them to a profile. Just click an empty box, give it a title and click Save.

The Load button is only meant if you want to temporary load a Custom Profile on a map, or to load a profile as base to edit and save as a different one.

Adding Maps To Saved Weapon Profiles
In TacticalOps-Server.ini is a [TOSTWeaponsServer4#.TOSTWeaponsServer] section with lines like this:

RecordString[0]=TO Default;4;1;3;3;3;2;3;3;2;1;2;1;1;1;1;2;3;2;2;1;2;2;2;3;3;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;1;0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;1;0;0;1;0;1;0;0;0;0;-1;
RecordString[1]=Default + Steyr + FAMAS + GasNade;4;1;3;3;3;2;3;3;2;1;2;1;1;1;1;2;3;2;2;1;2;2;2;3;3;1;1;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;1;0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;1;0;0;1;0;1;0;0;0;0;-1;
RecordString[2]=DE ONLY;4;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;1;1;1;1;1;0;1;0;0;0;0;0;0;0;-1;
...

and

DefaultMapMode[0]=
DefaultMapMode[1]=
DefaultMapMode[2]=TO-Deagle5v12;TO-Deagle5v13;
...

And a setting:

CurrentDefSettings=0

First make the Profiles ingame in the server, then in the ini set which maps should automatically load a custom profile. In the example above there are 2 Deagle maps added to a DE ONLY profile. The last setting "CurrentDefSettings=0" dictates what the default profile is for all maps that do not have a profile set. This is usually used for a Normal / Default Weapon Profile.

One way is to make custom profiles ingame as admin, example: DE Only, DE+MSG Only, Knife Only profiles etc. Then afterwards manually add the maps to the profiles in the server ini.


These lines can be pasted into the TOSTWeaponsServer config section. These are all maps out of the 2800+ maps that need a pre-defined weapon setup.

Its best to keep DefaultMapMode[0] as base profile for all maps and make DefaultMapMode[1] a duplicate without grenades for small maps.

Then create the following profiles ingame and it will leave you with 1 empty profile left on TO3.4 and 0 on TO3.5.

1x Knife Maps Profile, or maps that should have no weapon.

DefaultMapMode[2]=TO-[fM]-KnifeWrestling_Only;TO-[M]KnifeArena-NoThrow;TO-CMA-AKnifeDay;TO-cJs-Ring;TO-Knife-Battle;TO-KnifeArena;TO-KnifeStadium;TO-KnifeTournament;TO-KnifeWar;TO-SCR-AndSocaction;TO-SCR-FootballCB2;TO-SCR-Skaarj;TO-SCR-WaterWorks;TO-sG-Pedastal;TO-sG-Pedastal-nt;

1x Deagle Maps Profile, seperated from Sniper DE+MSG maps. Gives the choice of DE only or DE+MSG.

DefaultMapMode[3]=TO-(BC)ggDeagle;TO-(BC)ggPistols;TO-[C]rash_DEArmy;TO-[M]Deagle;TO-[M]DeagleEgypt2;TO-[M]DeagleII;TO-[M]Devastate-v2;TO-[M]SpecialDED2;TO-[PM]DeagleCeller;TO-=[TMTL]=-DED6;TO-=WWK=-DED4;TO-AF-Deagle2;TO-AF-DeagleCamp;TO-AF-DeagleWinter;TO-AF-DeDesert;TO-Big-Deagle-CTF;TO-bobo5v12;TO-Deagle_Anim;TO-Deagle-KevmanParty;TO-Deagle-Snow;TO-Deagle5v1;TO-Deagle5v12_eXtreme;TO-Deagle5v12-[Fixed];TO-Deagle5v12;TO-Deagle5v13;TO-DeagleEgypt;TO-DeagleHall;TO-DeagleHD;TO-DeagleHDv2;TO-DeagleIsland;TO-DeagleMoon;TO-DeagleNight;TO-DEArena;TO-DEArena][;TO-DEArmy;TO-DEArmy][;TO-DED-TLC;TO-DED][;TO-DED]I[-[Fixed];TO-DED3-BugFix;TO-DED3;TO-DED4;TO-DEDSniper[pRo];TO-DesertEagle32;TO-DN$-Deagle;TO-eZ-Deagle;TO-fEAr-Deagle;TO-GZ-DED][;TO-HHBR-DEAGLE;TO-Hippi-DED-Fun;TO-JustAnotherDeagle;TO-NewDeagle;TO-RagingBully;TO-SpecialDED;TO-WM-DE-BigRoom;TO-XMAS-Deagle5v12;TO-XPDE;

3x Sniper Maps Profile, split up into 3 profiles as there is a character limit for a profile.

DefaultMapMode[4]=TO-(Offi)-AFsniperRush;TO-(OMC)-SniperCity;TO-)FV(-FastSniper;TO-[BkT]-Cellar;TO-[C]rash_SniperRun;TO-[C]rash_TheHallSniperM;TO-[C]rash_TheHallSniperSM;TO-[FC]-Cellar-V2;TO-[fM]-Sniperfest;TO-[fM]-SniperfestBeta3;TO-[fM]-SniperfestDisco;TO-[fM]-SniperfestV2;TO-[fM]-Zsnipahhh;TO-[FV]-FastSniper;TO-[M]BattleAxe;TO-Aiming-TE;TO-[M]Sniper;TO-[M]Sniper2v2;TO-[M]SniperDemolition;TO-[M]SniperParadise;TO-[M]SniperStrikeTOONv68;TO-[M]SnipingSaloonRemix;TO-[M]Snipomp;TO-[M]SwedalgSniper6;TO-]Mp[-Cellar;TO-{-TPC-}-Snipah;TO-@-SniperStrike-[H&H]-v33;TO-@2-SnipersSTRIKE-[H&H]-v32;TO-=[TMTL]=-SniPeZ;TO-=WWK=-Zsnipah;TO-=WWK=-Zsnipahhh;TO-~LE]~Chaotic-Sniper;TO-1-SnipeAttack;TO-8PK-Snipomp;TO-8PK-Snipomp2;TO-Absniperfest;TO-b33f-Cellar1;TO-b33f-Cellar2;TO-b33f-Cellar3;TO-b33f-Cellar4;TO-b33f-Sniperfest;TO-BattleAxe;TO-BattleAxe32;
DefaultMapMode[5]=TO-BattleAxeVC32;TO-BlueFall_Sniper;TO-Buba-Sniper;TO-Cellar_Custom;TO-Cellar-[Fixed];TO-Cellar-Dark;TO-Cellar;TO-Cellar[Fix];TO-Cellar32;TO-CellarSkillsHolly;TO-CellarUFL;TO-CMA-BattleAxe2;TO-CoCa-SuperBattleAxe;TO-CoCa-SuperBattleAxe1B;TO-CoCa-SuperBattleAxe1C;TO-CoCa-SuperBattleAxeStargate;TO-CoCa-SuperSkill-Sniper;TO-DEDSniper[pRo];TO-DT-Sniper;TO-DT-SniperOICW;TO-FSK-Snipomenia;TO-FSLE_Snipers_Paradise_V3;TO-i_Clan_Snipe_Harbor;TO-KHC-BokjeSniper;TO-MM-SnipeSquare;TO-NewSniperfest3;TO-Office_DT_Sniper;TO-OfficeSniping-[H&H]-v32;TO-RA-Snipefest2k4;TO-SEC-ExtremeSniperAlly;TO-SEC-SniperSkill;TO-Skill-Sniper;TO-Skill-SniperMod;TO-Skill-SniperRemix;TO-SnipaFall;TO-SnipeAttack;TO-Sniper;TO-SniperAlly;TO-SniperCamp-Beta;TO-SniperCastle;TO-SniperCity;TO-SniperCorridor;TO-SniperDemolition-[H&H]-v32;TO-Sniperfest2k4_v32[fM];
DefaultMapMode[6]=TO-Sniperfest2k4v2;TO-SniperFight;TO-SniperFortress;TO-SniperHexen;TO-Sniperplace;TO-SniperVeT;TO-SnipingSaloon;TO-Snipylandscape;TO-SW-RapidTrooper;TO-SweDalgSniper3-BF;TO-SweDalgSniper3;TO-uA-Cellar;TO-UGC-Sniper;TO-Wav3s-SnipingRoom;TO-Wav3s-SnipingRoomC4;TO-X-Aiming;TO-XMAS-Cellar;TO-YDX-Sniperhall;

1x OICW Maps Profile

DefaultMapMode[7]=TO-(ED)OfficeAnger_OICW;TO-[C]rash_TheCube_OICWBombing;TO-@8-OICW-TrooperII;TO-2-SES-OICWPrisonBreakOut;TO-DT-ScopeOICW;TO-DT-SniperOICW;TO-OICW-Map;TO-OICW-Map2;TO-OICW-Trooper;

1x Random Weapon Maps Profile

DefaultMapMode[8]=TO-[M]RandomArena;

1x Crossbow Maps Profile (TO3.5 Only)

DefaultMapMode[9]=TO-CrossBowArena-[H&H]-v32;


Most things you could download to install on a server will include readme files on how to install them.

Else follow these basic rules:
u, ini, int, dll, so -> System
unr -> Maps
utx -> Textures
uax -> Sounds
umx -> Music

Other basic rules for custom content:
Non-map files most likely need to be added as ServerPackages,
Mutators need to be activated from the TOST Mutator section,
Custom gametypes need set in both the MapVoteULv2_4.ini and in the TacticalOps-Server.ini DefaultServerGame line.


On previous v436 and v451 engine TO servers you had to set up a HTTP Redirect or players missing any custom files would only receive them by 20kb/s.

With the "right" custom map and an empty Cache folder it can take forever to get 50-100+ MB...

With v469 the "-lanplay" commandline is always enabled making the server have the built-in ability to send files at a much faster speed.

These server configs automatically make use of the Public Redirect. Both faster than native file sending and helps in offloading performance and network latency by having the "server" being fully dedicated to the game itself.

You could set up a http host, compress all the servers files with Unreal Deps dump them in 1 folder and host it yourself, or use v469c's built-in file sending capability that is atleast 10x better than before.


Other guides with useful server information:
Server Setup & Configuration (Old)
Linux Server Guide (PDF)
Custom Server Logo
Custom Server Sounds


A great place to ask for help is in the "server-support" channel of the TO:AoT Community Discord.