or conversely you can opt for a zip-less/vol-less configuration and have everything in the folder and no zip/vol file
Nice to know some of that history.
If we do a deleteServer(); a bit later (say 1 minute into the first map) it seems ok with no ill effects. we can play with how soon it happens.
the not working the first time reminds me of a problem we have with 2048x2048 lushDML. it takes so long to load it that we get dropped by the server.
so i put in a preload script to preload all the terrains before we try to join a server.
this may be a similar issue - that the first time through some things haven't been loaded yet so it doesn't work. creating a server instance loads some volumes that may not have been loaded or initialized yet.
maybe we just need a longer list of volumes to preload instead of making a server instance.
btw with goldeneye/perfect-dark textures we have almost 5000 mjhires image entries and lots of volumes so i haven't hit a limit there yet (other than the 1.40 2GB data limit because 32 bit).
Bumped for Groove
@bugs_ thoughts? i was playing around with your updated files and it looks fantastic, thanks for all your work on this
%saveplaymode = $pref::PlayGameMode;
%savemission = $pref::LastMission;
%saveServerPort = $Server::Port;
%saveServerPub = $Server::HostPublicGame;
$Server::Port = round(getRandom()*100000, 0);
$Server::HostPublicGame = false;
echoc(4,"++++ starting $hrfixserver on port " ~ $Server::Port);
createServer("Broadside", false);
$pref::PlayGameMode = %saveplaymode;
$pref::LastMission = %savemission;
$Server::Port = %saveServerPort;
$Server::HostPublicGame = %saveServerPub;
$hrfixserver = true;
function Groove::KillHrfixServer() after JoinGame
{
if($hrfixserver)
echoc(4,"++++ $hrfixserver is true - scheduling deleteserver " );
Schedule::Add("deleteServer();",30);
$hrfixserver = false;
}
echoc(3,"fix4hrfixfix" );
//save your current server settings
%saveplaymode = $pref::PlayGameMode;
%savemission = $pref::LastMission;
%saveServerPort = $Server::Port;
%saveServerPub = $Server::HostPublicGame;
//create random 5 digit server port for hrfixserver, set not public, start server
$Server::Port = round(getRandom()*100000, 0);
$Server::HostPublicGame = false;
echoc(4,"++++ starting $hrfixserver on port " ~ $Server::Port);
createServer("Broadside", false);
//restore server settings
$pref::PlayGameMode = %saveplaymode;
$pref::LastMission = %savemission;
$Server::Port = %saveServerPort;
$Server::HostPublicGame = %saveServerPub;
// setting stupid variable so we know this server is started
$hrfixserver = true;
function Groove::KillHrfixServer() after JoinGame
{
switch($hrfixserver){
case "false":
echoc(4,"++++ $hrfixserver is false - doing nothing" );
break;
case "true":
echoc(4,"++++ $hrfixserver is true - scheduling deleteserver " );
Schedule::Add("deleteServer();",30);
$hrfixserver = false;
break;
default:
echoc(4,"+++++ $hrfixserver unexpected value? doing nothing" );
break;
}
}