This is an serverside IpDrv replacement mod for
227h.
What it does is makes coop servers run multiple maps through mapswitches (by hitting the end teleporter in one map), sending the ending player to next map while rest of the players remains on current map.
This mod may not be supported by most of the custom coop game mods (ones which overrides 227's CoopGame.SendPlayer; i.e: JCoop, JCoopZ, xCoop...).
You may also not want to run that massive monster spawner mutators together with this as it can eat up a lot of server performance when doing it in 3-6 maps in same time.
You
must run some coop map fix mutator;s together with this (like Zombies mutator) or else players who follow another player in a map with ending lock-down will get locked out in the previous map.
Download:
www.klankaos.com/downloads/IpDrvMultiServer.rarI include installation instructions with the rar file download aswell as original IpDrv files as backup.
Server configurations with this (IpDrv.ini):
CleanupEmptyTime (0 = unlimited) - Amount of seconds a map needs to be empty of players before it gets garbage collected (thus resetting it for the next players).
ClientUncacheTimeHours - Amount of hours before cleaning up client cache entry when left unused (client IP address, currently playing map).
bStopTickingMaps - Stop updating maps with no players in them (in order for server to maintain performance for actively played maps).
RestrictedSA - List of Restricted ServerActors in Child maps (mainly for stuff like webadmin manager which should only be initialized once.
AlwaysLoadedMaps - List of maps that should never be unloaded from memory (ignoring the uncache time).
This mod also gives you new server consolecommands:
IpHelp - Show a list of commands.
IpListMaps - Logs a list of currently loaded maps and their player counts.
IpListPlayers - Get a list of players and their ID's.
IpSendPlayer - Send a given player to a specific map.
IpGetConfig - List current configures in IpDrv.ini.
IpSetConfig - Change a given config entry (not the list values though).
Sockets - Modified this to log only 2 first open channels to stop annoying log spam from that command and work properly with 'Admin sockets' command.
On a note:
Starting map you launch up server with will be the '
Main map' which will be always loaded and always ticked, rest of the maps will be '
Child maps'.
Using console command 'Open'/SwitchLevel will make server close all Child maps and make their active clients reconnect (and join to the newly opened map then).
Credits: Not at all thanks to Shivaxi.