Page 1 of 2

serverpackages limit ... dynamic loading?

Posted: Wed Feb 20, 2019 3:28 pm
by gattovicentino
Hello!
UT inexorably crashes (when I start a deathmatch) after a certain number of additions of ServerPackages lines to unrealtournament.ini. Maybe a program limit, because on modern PCs it can't be a memory/performance problem.
So, if por example I install dozens of player classes and I divide them into various Xbots/Xbots9b lists, it will be impossible to load everything as lan server.
Is there a way to bypass this issue? Or should I create multiple copies of unrealtournament.ini, with different groups of ServerPackages lines, using them according to which list/bots I want to load?
I know there is "Dynamic package loader" but it seems to works only depending on the map, but in my case it would be interesting a dynamic loading of certain packages depending on which ones (and only those) xbots uses in that specific deathmatch.
At the moment I am using a limited number of ServerPackages lines, so I can play.
Any suggestion?
Thanks

Re: serverpackages limit ... dynamic loading?

Posted: Wed Feb 20, 2019 4:49 pm
by Aldebaran
You can try ServerCrashFix, it helps - apart from other things - if you are adding to many Serverpackages in configuration and then normally the server would crash in startup process.

Download here:
http://ut-files.com/index.php?dir=Patch ... ix_v11.zip

Put the actor "ServerCrashFix_v11.SCFActor" for it at top of the actor and packages list.

Re: serverpackages limit ... dynamic loading?

Posted: Wed Feb 20, 2019 4:58 pm
by JackGriffin
There's no reason to ever hit package limits. If you are trying to run a server with that many no one is going to sit and wait through it, especially for skins. Your best bet is to run ValAvatar to make it much simpler.

Re: serverpackages limit ... dynamic loading?

Posted: Wed Feb 20, 2019 5:33 pm
by esnesi

Re: serverpackages limit ... dynamic loading?

Posted: Wed Feb 20, 2019 6:15 pm
by Higor
UT uses a 1024 character buffer to export properties, and dynamic arrays are saved line by line during port to INI format.
Provide a crashlog of the server if possible.

**Edited

Re: serverpackages limit ... dynamic loading?

Posted: Wed Feb 20, 2019 6:19 pm
by sektor2111
All I've done so far was separate packages depending on game-type for preventing to load all things for everything - only XC_Engine can map packages.
Here you might need a mutator using some "config" stages/types according to whatever type/sort of match, else I'm curious how many players are waiting 100+ packages to download filling cache for 10 minutes of play. Me one I'm not going to wait days for downloading GB of "fancy" data.

Re: serverpackages limit ... dynamic loading?

Posted: Wed Feb 20, 2019 6:43 pm
by SC]-[WARTZ_{HoF}
JackGriffin wrote:Your best bet is to run ValAvatar to make it much simpler.
I wish someone would update Valhalla's code.

Re: serverpackages limit ... dynamic loading?

Posted: Wed Feb 20, 2019 7:57 pm
by gattovicentino
Higor wrote:UT uses a 1024 character buffer to export properties, and dynamic arrays are saved line by line during port to INI format.
Provide a crashlog of the server if possible.

**Edited
some lines from the log :

ScriptWarning: UTCustomizeClientWindow Transient.UTCustomizeClientWindow0 (Function UMenu.UMenuCustomizeClientWindow.Created:03DA) Accessed array out of bounds (100/100)
ScriptWarning: UTCustomizeClientWindow Transient.UTCustomizeClientWindow0 (Function UMenu.UMenuCustomizeClientWindow.Created:03E6) Accessed array out of bounds (100/100)

after loading dozens of serverpackages, the log ends with:

Code: Select all

Log: Server Package: r2d2
Log: Server Package: r2d2skins
Log: Server Package: UT2004CharactersV2.int
Critical: appError called:
Critical: Memoria virtuale esaurita. Per prevenire questa condizione, devi liberare più spazio sul tuo hard disk.
Critical: Windows GetLastError: Memoria insufficiente per eseguire il comando. (8)
Exit: Executing UObject::StaticShutdownAfterError
Exit: Executing UWindowsClient::ShutdownAfterError
Exit: UGalaxyAudioSubsystem::ShutdownAfterError
Log: DirectDraw End Mode
Log: DirectDraw RestoreDisplayMode: DDERR_NOEXCLUSIVEMODE
Critical: FMallocWindows::Malloc
Critical: FMallocWindows::Realloc
Critical: 00000000 425921320 FArray
Critical: FArray::Realloc
Critical: 1126981989*8
Critical: FUnrealfileSummary<<
Critical: LoadSummary
Critical: ULinkerLoad::ULinkerLoad
Critical: UObject::GetPackageLinker
Critical: UGameEngine::BuildServerMasterMap
Critical: ULevel::Listen
Critical: Listen
Critical: UGameEngine::LoadMap
Critical: LocalMapURL
Critical: UGameEngine::Browse
Critical: ClientTravel
Critical: UGameEngine::Tick
Critical: UpdateWorld
Critical: MainLoop
Exit: Exiting.
Uninitialized: Name subsystem shut down
Uninitialized: Log file closed, 02/20/19 19:42:05 
When UT crashes, Windows 7 shows a Fmalloc "out of virtual memory" error.


If I reduce ServerPackages number, the deathmatch begins and UT doesn't crash.
Valhalla Avatar maybe a solution to bypass it.

-MERGED-
iSenSe wrote:ValHalla Avatar.
http://unrealtournament.99.free.fr/utfi ... tar1_0.zip

i could not find this on..
https://unrealarchive.org
I'll try it to bypass the issue

-MERGED-
Aldebaran wrote:You can try ServerCrashFix, it helps - apart from other things - if you are adding to many Serverpackages in configuration and then normally the server would crash in startup process.

Download here:
http://ut-files.com/index.php?dir=Patch ... ix_v11.zip

Put the actor "ServerCrashFix_v11.SCFActor" for it at top of the actor and packages list.
I have installed it, but a Fmalloc "Out of virtual memory" is still present, I'll try Valhalla Avatar later

Re: serverpackages limit ... dynamic loading?

Posted: Wed Feb 20, 2019 8:15 pm
by Higor
Out of memory. :loool:

It's not just additional packages adding into the game that eat up the memory, also that EVERY object inside a package must have a 'tag' for the client<->server comms, which means additional memory on server startup, and even more with each joining client.
If the server is running out of memory, some clients may do that as well.

PD:
ValAvatar needs to be properly redone (or discarded entirely)
Look at any recent game, when someone with a new model/profile pic/spraypaint (HL) joins, other clients download said data asynchronously.
Something like this could be done, the challenge is make it work 100% on non XC_Engine clients.

Re: serverpackages limit ... dynamic loading?

Posted: Wed Feb 20, 2019 8:39 pm
by gattovicentino
Higor wrote:Out of memory. :loool:

It's not just additional packages adding into the game that eat up the memory, also that EVERY object inside a package must have a 'tag' for the client<->server comms, which means additional memory on server startup, and even more with each joining client.
If the server is running out of memory, some clients may do that as well.
32 Gb of ram are not enough :D
Yet tried to dramatically increase cache size too, in unrealtournament.ini, but no difference (I don't know actually if cache size helps in this case).

Re: serverpackages limit ... dynamic loading?

Posted: Thu Feb 21, 2019 12:08 am
by papercoffee
gattovicentino wrote:...
Please avoid double and triple posts within a 24 hours time limit.
We allow our member to EDIT their posts.

Re: serverpackages limit ... dynamic loading?

Posted: Thu Feb 21, 2019 12:33 am
by Higor
32 bit programs can't map more than 2 gb of memory, unless some ugly OS hacks are applied (may require x64 system)

Re: serverpackages limit ... dynamic loading?

Posted: Thu Feb 21, 2019 4:14 am
by JackGriffin
Jesus Christ, are we really having a discussion about a 20 year old game consuming multiple gigabytes of memory and that it's not enough?

Look, OP....you got to start being reasonable. I get it that some people are collectors and they want to play with ALL their ̶b̶a̶r̶b̶i̶e̶s Bratz dolls at once but...SMH....

Stop with this silliness and play within the limits. UT isn't Pokemon Go. You don't gotta catch them all FFS.

Re: serverpackages limit ... dynamic loading?

Posted: Thu Feb 21, 2019 7:13 am
by sektor2111
Higor wrote:32 bit programs can't map more than 2 gb of memory, unless some ugly OS hacks are applied (may require x64 system)
So "BillyBill" was right a few years ago saying that x+x+y+y mods in a server done for 32 players it's just an admin brain-fart because technically there is no option for dealing with memory in such a case, each player will need a memory a amount which server won't have crashing for "various reasons" when hits boundaries... That's explain a lot of stuff happening in my machines in past years... yup, good luck with GB of Packages...

Re: serverpackages limit ... dynamic loading?

Posted: Thu Feb 21, 2019 5:31 pm
by Barbie
JackGriffin wrote:I get it that some people are collectors and they want to play with ALL their barbies at once but...SMH....
Hmm, what? :omfg: