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_2And 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 DifferenceTO3.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 TickRateConsole 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=61Finetuning 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.