In multi-servers running XC_Engine we can do some wrapping through packages. If we are running 5 game-types, poor player connecting server has to download for ages. We can manage to load several packages only for game-type currently running and NOT all content.
Packages are mapped according to an INI file and a Server-Actor which will map packages for each game-type in particular.
I called it Packager.
Actor is checking game-type configured from a list with 32 types. Each game-type might have 32 Packages in particular - dedicated DM CTF MH which are loaded ONLY when target game is loaded, player is excepted from a stupid downloading spree. Sample INI and explanations are integrated in archive. Keep in mind that only XC_Engine can attack Packages, a plain server is crashing. If you are an XC_Engine hater forget this Actor.
Edit:
As requested, a version for 64 game-types it's now available and tested.
Old entries from ini file can be removed - this mutator will create an ini file at first run if has no valid configuration.
Packages management options in XC Servers
Packages management options in XC Servers
UncodeX Stuff
Not often maintained
My UT Mapping works...
Learn the rules like a pro, so you can break them like an artist.
- Pablo Picasso -
Not often maintained
My UT Mapping works...
Learn the rules like a pro, so you can break them like an artist.
- Pablo Picasso -
Re: Packages management options in XC Servers
This is an alternative to extended mapvotes cool
But why be small ; can you port it to 64 or more ?
For my future demo server to download i'm already 53 CustomGameConfig and it's not over
But why be small ; can you port it to 64 or more ?
For my future demo server to download i'm already 53 CustomGameConfig and it's not over
Re: Packages management options in XC Servers
Let's follow small steps using 64 first to see if engine is agree with this. 64 game-types having 32 particular packages ?
As a warning, packages can be mapped until first tick. If iterations are crashing I'm not sure if exist a solution because adding packages has a logic, after connecting player a new package post join will mess up stuff, player has to be gone and reconnected which is not entertaining.
If I think well, so far one server with 32 games and other with 32 games = 64 games in 2 servers not 64 servers. But let's try a different compression if Engine will help us.
Default hint: You will need a rich MapVote for such a server and sorted stuff, because this toy is not a MapVote it's a "man-of-packages".
As a warning, packages can be mapped until first tick. If iterations are crashing I'm not sure if exist a solution because adding packages has a logic, after connecting player a new package post join will mess up stuff, player has to be gone and reconnected which is not entertaining.
If I think well, so far one server with 32 games and other with 32 games = 64 games in 2 servers not 64 servers. But let's try a different compression if Engine will help us.
Default hint: You will need a rich MapVote for such a server and sorted stuff, because this toy is not a MapVote it's a "man-of-packages".
UncodeX Stuff
Not often maintained
My UT Mapping works...
Learn the rules like a pro, so you can break them like an artist.
- Pablo Picasso -
Not often maintained
My UT Mapping works...
Learn the rules like a pro, so you can break them like an artist.
- Pablo Picasso -
Re: Packages management options in XC Servers
It's just a demo server full newnet.
Code: Select all
CustomGameConfig[0]=(bEnabled=True,GameClass="Botpack.Assault",NewPrefix="no140AS",Mutators="GotLoque.GotLoque,UN1.DisablePortals",Settings="MinPlayers=2,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[1]=(bEnabled=True,GameClass="Botpack.CTFGame",NewPrefix="CTF",Mutators="",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[2]=(bEnabled=True,GameClass="Botpack.DeathMatchPlus",NewPrefix="DM",Mutators="",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[3]=(bEnabled=True,GameClass="Botpack.Domination",NewPrefix="DOM",Mutators="",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[4]=(bEnabled=True,GameClass="UN1.LastManStanding",NewPrefix="lMS",Mutators="",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[5]=(bEnabled=True,GameClass="Botpack.TeamGamePlus",NewPrefix="TDM",Mutators="",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[6]=(bEnabled=True,GameClass="MMGame.MMGame",NewPrefix="MM",Mutators="UP2.NoAlwaysAutoActivate",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[7]=(bEnabled=True,GameClass="RXU9.RXCTF",NewPrefix="rxCTF",Mutators="UN1.RXPosError,UN1.DisableWeapons",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[8]=(bEnabled=True,GameClass="SiegeIV_0028.SiegeGI",NewPrefix="SG",Mutators="",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[9]=(bEnabled=True,GameClass="Soccer.SoccerMatch",NewPrefix="soccerSCR",Mutators="",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[10]=(bEnabled=True,GameClass="SLVU3.SLVCTF",NewPrefix="slvCTF",Mutators="UN1.DisableWeapons,UN1.RXPosError,UN1.DoubleJump",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[11]=(bEnabled=True,GameClass="SiegeIV_0028.FreeSiegeGI",NewPrefix="freeSG",Mutators="",Settings="bTournament=False,MinPlayers=2,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[12]=(bEnabled=True,GameClass="Botpack.TeamGamePlus",NewPrefix="1v1DM",Mutators="",Settings="Timelimit=15,MinPlayers=0,Maxplayers=2,bBalanceTeams=False,AirControl=0.350000,GameSpeed=1.000000,GoalTeamScore=0.000000,bTournament=True,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[13]=(bEnabled=True,GameClass="Botpack.TeamGamePlus",NewPrefix="2v2DM",Mutators="",Settings="Timelimit=20,MinPlayers=0,Maxplayers=4,bBalanceTeams=False,AirControl=0.350000,GameSpeed=1.000000,GoalTeamScore=0.000000,bTournament=True,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[14]=(bEnabled=True,GameClass="Botpack.TeamGamePlus",NewPrefix="3v3DM",Mutators="",Settings="Timelimit=20,MinPlayers=0,Maxplayers=6,bBalanceTeams=False,AirControl=0.350000,GameSpeed=1.000000,GoalTeamScore=0.000000,bTournament=True,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[15]=(bEnabled=True,GameClass="Botpack.TeamGamePlus",NewPrefix="4v4DM",Mutators="",Settings="Timelimit=20,MinPlayers=0,Maxplayers=8,bBalanceTeams=False,AirControl=0.350000,GameSpeed=1.000000,GoalTeamScore=0.000000,bTournament=True,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[16]=(bEnabled=True,GameClass="Botpack.TeamGamePlus",NewPrefix="5v5DM",Mutators="",Settings="Timelimit=20,MinPlayers=0,Maxplayers=10,bBalanceTeams=False,AirControl=0.350000,GameSpeed=1.000000,GoalTeamScore=0.000000,bTournament=True,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[17]=(bEnabled=True,GameClass="Botpack.CTFGame",NewPrefix="cgCTF",Mutators="UN1.NewNetCG",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[18]=(bEnabled=True,GameClass="Botpack.CTFGame",NewPrefix="flackCTF",Mutators="BotPack.FlakArena,UP2.UnlimitedAmmo",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[19]=(bEnabled=True,GameClass="Botpack.CTFGame",NewPrefix="igCTF",Mutators="UN1.NewNetIG",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[20]=(bEnabled=True,GameClass="Botpack.CTFGame",NewPrefix="raCTF",Mutators="BotPack.RocketArena,UP2.UnlimitedAmmo",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[21]=(bEnabled=True,GameClass="Botpack.CTFGame",NewPrefix="saCTF",Mutators="UN1.NewNetSA,UP2.UnlimitedAmmo",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[22]=(bEnabled=True,GameClass="Botpack.DeathMatchPlus",NewPrefix="cgDM",Mutators="UN1.NewNetCG",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[23]=(bEnabled=True,GameClass="Botpack.DeathMatchPlus",NewPrefix="flackDMm",Mutators="BotPack.FlakArena,UP2.UnlimitedAmmo",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[24]=(bEnabled=True,GameClass="Botpack.DeathMatchPlus",NewPrefix="igDM",Mutators="UN1.NewNetIG",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[25]=(bEnabled=True,GameClass="Botpack.DeathMatchPlus",NewPrefix="raDM",Mutators="BotPack.RocketArena,UP2.UnlimitedAmmo",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[26]=(bEnabled=True,GameClass="Botpack.DeathMatchPlus",NewPrefix="saDM",Mutators="UN1.NewNetSA",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[27]=(bEnabled=True,GameClass="Botpack.TeamGamePlus",NewPrefix="cgTDM",Mutators="UN1.NewNetCG",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[28]=(bEnabled=True,GameClass="Botpack.TeamGamePlus",NewPrefix="flackTDM",Mutators="BotPack.FlakArena,UP2.UnlimitedAmmo",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[29]=(bEnabled=True,GameClass="Botpack.TeamGamePlus",NewPrefix="igTDM",Mutators="UN1.NewNetIG",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[30]=(bEnabled=True,GameClass="Botpack.TeamGamePlus",NewPrefix="raTDM",Mutators="BotPack.RocketArena,UP2.UnlimitedAmmo",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[31]=(bEnabled=True,GameClass="Botpack.TeamGamePlus",NewPrefix="saTDM",Mutators="UN1.NewNetSA,UP2.UnlimitedAmmo",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[32]=(bEnabled=True,GameClass="LeagueAS140.LeagueAssault",NewPrefix="140AS",Mutators="GotLoque.GotLoque,UN1.DisablePortals",Settings="MinPlayers=2,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[33]=(bEnabled=True,GameClass="JailBreak.JailBreak",NewPrefix="JB",Mutators="JailPeace.JailPeace,JBRSIndicator.JBRSIndicator,NoJailKill.NoJailKill,WrongJailCB.WrongJail",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[34]=(bEnabled=True,GameClass="Botpack.CTFGame",NewPrefix="cggdCTF",Mutators="UN1.DoubleJump,UN1.NewNetCG,UN1.GrapMut,UN1.ND_Mut",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[35]=(bEnabled=True,GameClass="Botpack.DeathMatchPlus",NewPrefix="H4DM",Mutators="UN1.h4x_Mut,HyperTrans.TranslocMutator,Dropper.Drop",Settings="bUseTranslocator=True,bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[36]=(bEnabled=True,GameClass="SLVU3.SLVCTF",NewPrefix="aslvCTF",Mutators="SLVU3.StrangeArena",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[37]=(bEnabled=True,GameClass="HolyWars.HolyWarsGame",NewPrefix="DMHW",Mutators="",Settings="")
CustomGameConfig[38]=(bEnabled=True,GameClass="BTGame.BTGame",NewPrefix="BT",Mutators="UN1.DisablePortals,UN1.DisableWeapons",Settings="bTournament=False,MinPlayers=1,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[39]=(bEnabled=True,GameClass="AdvancedDOM.AdvancedDOM",NewPrefix="advDOM",Mutators="",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[40]=(bEnabled=True,GameClass="LeagueAS140.LeagueAssault",NewPrefix="140iAS",Mutators="UN1.NewNetIG,GotLoque.GotLoque,UN1.DisablePortals",Settings="MinPlayers=2,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[41]=(bEnabled=True,GameClass="JailBreak.JailBreak",NewPrefix="iJB",Mutators="UN1.NewNetIG,JailPeace.JailPeace,JBRSIndicator.JBRSIndicator,NoJailKill.NoJailKill,WrongJailCB.WrongJail",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[42]=(bEnabled=True,GameClass="SLVU3.SLVCTF",NewPrefix="islvCTF",Mutators="SLVU3.StrangeArena,UN1.RXPosError,UN1.DoubleJump,UN1.GrapMut,UN1.ND_Mut",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[43]=(bEnabled=True,GameClass="Botpack.Domination",NewPrefix="igDOM",Mutators="UN1.NewNetIG",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[44]=(bEnabled=True,GameClass="Botpack.Domination",NewPrefix="sDOM",Mutators="UN1.NewNetSDOM",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[45]=(bEnabled=True,GameClass="Botpack.Assault",NewPrefix="iAS",Mutators="UN1.NewNetIG,UN1.DisablePortals,GotLoque.GotLoque",Settings="MinPlayers=2,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[46]=(bEnabled=True,GameClass="RXU9.RXCTF",NewPrefix="irxCTF",Mutators="RXU9.StrangeArena,UN1.DoubleJump,UN1.GrapMut,UN1.ND_Mut,UN1.RXPosError",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[47]=(bEnabled=True,GameClass="Botpack.CTFGame",NewPrefix="axweaponCTF",Mutators="AXW2.AXData,AXW2.AXMut",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[48]=(bEnabled=True,GameClass="Botpack.DeathMatchPlus",NewPrefix="axweaponDM",Mutators="AXW2.AXData,AXW2.AXMut",Settings="bTournament=False,MinPlayers=4,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[49]=(bEnabled=True,GameClass="BTGame.BTGame",NewPrefix="iBT",Mutators="UN1.DisablePortals,UN1.NewNetIG",Settings="bTournament=False,MinPlayers=1,GameSpeed=1.00,AirControl=0.350000")
CustomGameConfig[50]=(bEnabled=True,GameClass="Botpack.DeathMatchPlus",NewPrefix="zomDM",Mutators="UN1.NewNetZIG,UN1.DoubleJump,UN1.GrapMut,UN1.ND_Mut,Botpack.LowGrav,NWUltraGoreSSEb.NWBloodyMess_UGSSE",Settings="GameSpeed=1.40,AirControl=0.700000,bTournament=False,MinPlayers=4")
CustomGameConfig[51]=(bEnabled=True,GameClass="Botpack.DeathMatchPlus",NewPrefix="HookDM",Mutators="PirateDeemerCMM013.PirateDeemerMod,PirateDeemerCMM013.KeepItClean,,UN1.DoubleJump,UN1.GrapMut,UN1.ND_Mut",Settings="")
CustomGameConfig[52]=(bEnabled=True,GameClass="MH2_NS_V2.MonsterHunt",NewPrefix="nsMH",Mutators="UN1.DisableWeapons,UN1.RXPosError,UN1.DoubleJump,MH_OsPower.PowerUp",Settings="bTournament=False,MinPlayers=4")
CustomGameConfig[53]=(bEnabled=False,GameClass="",NewPrefix="",Mutators="",Settings="")
CustomGameConfig[54]=(bEnabled=False,GameClass="",NewPrefix="",Mutators="",Settings="")
CustomGameConfig[55]=(bEnabled=False,GameClass="",NewPrefix="",Mutators="",Settings="")
CustomGameConfig[56]=(bEnabled=False,GameClass="",NewPrefix="",Mutators="",Settings="")
CustomGameConfig[57]=(bEnabled=False,GameClass="",NewPrefix="",Mutators="",Settings="")
CustomGameConfig[58]=(bEnabled=False,GameClass="",NewPrefix="",Mutators="",Settings="")
CustomGameConfig[59]=(bEnabled=False,GameClass="",NewPrefix="",Mutators="",Settings="")
Re: Packages management options in XC Servers
I see...
But I have a small note for that MonsterHunt. OsPower as I recall is done for MonsterHunt504, I'm not sure if will be fully compatible with MH2_NS_V2 - I forgot those things. I have other MonsterHunt2 type and... perhaps I have to expand some "Relic" integrated in a future version having an already configured delay - allowing patch files to run first. Also I think an XC_OsPower would be cute as well dedicated to my love, XC_MonsterHunt which I was playing last time more intensive...
As for such a server... with stock files probably I would not be that fascinated about it... This server will need a lot of polishing.
But Okay I'll setup Packager for 64 game-types with 32 packages in array, and then you can test whatever mutators. In such a server preventing long downloads is probably a must-have else player will quit connecting - It's what I do when 200 MB are about be pushed at me.
Eastern Egg: I think Packager_64 will use the same ini file as long as too many files used nowadays are only slowing down drive access... there are already a mountain of files in such a server.
But I have a small note for that MonsterHunt. OsPower as I recall is done for MonsterHunt504, I'm not sure if will be fully compatible with MH2_NS_V2 - I forgot those things. I have other MonsterHunt2 type and... perhaps I have to expand some "Relic" integrated in a future version having an already configured delay - allowing patch files to run first. Also I think an XC_OsPower would be cute as well dedicated to my love, XC_MonsterHunt which I was playing last time more intensive...
As for such a server... with stock files probably I would not be that fascinated about it... This server will need a lot of polishing.
But Okay I'll setup Packager for 64 game-types with 32 packages in array, and then you can test whatever mutators. In such a server preventing long downloads is probably a must-have else player will quit connecting - It's what I do when 200 MB are about be pushed at me.
Eastern Egg: I think Packager_64 will use the same ini file as long as too many files used nowadays are only slowing down drive access... there are already a mountain of files in such a server.
UncodeX Stuff
Not often maintained
My UT Mapping works...
Learn the rules like a pro, so you can break them like an artist.
- Pablo Picasso -
Not often maintained
My UT Mapping works...
Learn the rules like a pro, so you can break them like an artist.
- Pablo Picasso -
Re: Packages management options in XC Servers
Working stage so far went as follows:
- changed codes solution using "switch-case";
- implementing 64 games with 32 packages each;
- adding clocking system from XC_Core delivering time in milliseconds (rounded) spent for mapping packages - this thing do needs XC_Engine after all, so let's use it.
How do log file looks:To do: checking codes again and operation before posting it.
Edit: Monster Gaming Server said
and then MonsterHunt
Mapping a single package it's like operated instantly - time rounded to zero.
No failures so far...
- changed codes solution using "switch-case";
- implementing 64 games with 32 packages each;
- adding clocking system from XC_Core delivering time in milliseconds (rounded) spent for mapping packages - this thing do needs XC_Engine after all, so let's use it.
How do log file looks:
Code: Select all
ServPackager_64: >> Actor Loaded and Started.
ServPackager_64: Found game-type MonsterHunt
ServPackager_64: ServerPackages mapping for MonsterHunt is operating as follows:
ServPackager_64: Adding Ns_SpawnPoint2 in ServerPackages.
ServPackager_64: ServerPackages mapping for MonsterHunt is ended.
ServPackager_64: Mapping Packages took around 6 MilliSeconds.
Edit: Monster Gaming Server said
Code: Select all
ServPackager_64: >> Actor Loaded and Started.
ServPackager_64: Found game-type DeathMatchPlus
ServPackager_64: ServerPackages mapping for DeathMatchPlus is operating as follows:
ServPackager_64: Adding UTToolbox in ServerPackages.
ServPackager_64: Adding NsMonster in ServerPackages.
ServPackager_64: Adding Cacher in ServerPackages.
ServPackager_64: Adding UTrooper in ServerPackages.
ServPackager_64: Adding UTrooper2 in ServerPackages.
ServPackager_64: ServerPackages mapping for DeathMatchPlus is ended.
ServPackager_64: Mapping Packages took around 8 MilliSeconds.
Code: Select all
ServPackager_64: >> Actor Loaded and Started.
ServPackager_64: Found game-type MonsterHunt
ServPackager_64: ServerPackages mapping for MonsterHunt is operating as follows:
ServPackager_64: Adding Ns_SpawnPoint2 in ServerPackages.
ServPackager_64: ServerPackages mapping for MonsterHunt is ended.
ServPackager_64: Mapping Packages took around 0 MilliSeconds.
No failures so far...
UncodeX Stuff
Not often maintained
My UT Mapping works...
Learn the rules like a pro, so you can break them like an artist.
- Pablo Picasso -
Not often maintained
My UT Mapping works...
Learn the rules like a pro, so you can break them like an artist.
- Pablo Picasso -
Re: Packages management options in XC Servers
First post has been updated with ServerActor Packager_64 mapping packages for 64 game-types in particular. It's aiming XC_Engine based servers, players don't need any special tweak.
UncodeX Stuff
Not often maintained
My UT Mapping works...
Learn the rules like a pro, so you can break them like an artist.
- Pablo Picasso -
Not often maintained
My UT Mapping works...
Learn the rules like a pro, so you can break them like an artist.
- Pablo Picasso -
Re: Packages management options in XC Servers
Ok nice
I'm not brave enough to test now but I'm going to use it THX.
I'm not brave enough to test now but I'm going to use it THX.