Open Razish opened 11 years ago
Want.
Sent from my Windows Phone
From: Razishmailto:notifications@github.com Sent: 5/6/2013 8:33 AM To: Razish/OpenJKmailto:OpenJK@noreply.github.com Subject: [OpenJK] Logical entities (#206)
Entities such as target_print should not be added to the main g_entities array, but an array that only the game module knows about, and will not be networked to clients.
Must add entity thinking code to G_RunFrame too.
Lugormod and JKG could provide code.
Reply to this email directly or view it on GitHub: https://github.com/Razish/OpenJK/issues/206
So... actual alternate list of entities ala serverEntity_t or just adding SVF_NOCLIENT ?
Obviously, this is gpl3 but its an idea... https://github.com/id-Software/Enemy-Territory/blob/master/src/game/g_sv_entities.c
JKG implemented it as a separate list of entities.
On 6 May 2013, at 16:40, Ensiform notifications@github.com wrote:
So... actual alternate list of entities ala serverEntity_t or just adding SVF_NOCLIENT ?
— Reply to this email directly or view it on GitHub.
But how does ICARUS then have ability to manipulate them?
Forgive my newbishness, but what would be the purpose of this, exactly? Decreased network usage? Prevention of hacked cheat clients?
Decreased network usage, more entities can be used before reaching the classic "G_Spawn: no free entities" error.
No more "free entities" error?
WANT!
On Tuesday, May 14, 2013, Razish wrote:
Decreased network usage, more entities can be used before reaching the classic "G_Spawn: no free entities" error.
— Reply to this email directly or view it on GitHubhttps://github.com/Razish/OpenJK/issues/206#issuecomment-17914335 .
It will still exist, but certain types of entities (target_print etc) won't count towards that limit.
Anything that helps. I can't play certain maps because of that error, and I'd really like to see Jurancor park working correctly. No idea how anyone else plays it.
Someone tell me how I can fix this error I am new to open jk.
What error?
Presumably the error when the game has too many NPCs, items, etc on a single map and just craps out.
Or I could send it to someone who can fix it for me then they can send it back.
This issue hasn't been fixed yet. If you're getting the error in maps you've created yourself, then you need to reduce the number of entities you add.
But I'm still not clear why this limit exists in the first place.
On Sunday, June 2, 2013, Alex Lo wrote:
This issue hasn't been fixed yet. If you're getting the error in maps you've created yourself, then you need to reduce the number of entities you add.
— Reply to this email directly or view it on GitHubhttps://github.com/Razish/OpenJK/issues/206#issuecomment-18813518 .
The game has a fixed number of entities which it can handle. There's a number of reasons for doing this: performance constraints (this game was made over a decade ago after all), better performance predictability, to reduce the maximum bandwidth usage of the game, etc. Creating too many entities will trigger the "No free entities" error.
The problem is (and what this issue was raised to solve), is that entities which will never be networked (i.e. never sent from the server to the players), such as the target_* entities and a few other groups of entities, also contribute to the number of entities. The solution then, is to change the server so that these entities do not contribute to the number of entities, by storing them in a separate list. It just takes a fair amount of work to do, and to make sure that everything works the same :p
Could the limit at least be increased for single-player maps? Some of the coolest JA maps I've ever seen simply don't work because they have too many entities.
Surely there is a line somewhere in the code that defines the size of whatever datastructure organizes these entities. If you know where this is, perhaps you could tell me where to find it so that I can modify it for myself? With 16GB to use, I think I can stand a few more entities.
Exactly what is the limit, specifically?
On Sunday, June 2, 2013, Alex Lo wrote:
The game has a fixed number of entities which it can handle. There's a number of reasons for doing this: performance constraints (this game was made over a decade ago after all), better performance predictability, to reduce the maximum bandwidth usage of the game, etc. Creating too many entities will trigger the "No free entities" error.
The problem is (and what this issue was raised to solve), is that entities which will never be networked (i.e. never sent from the server to the players), such as the target_* entities and a few other groups of entities, also contribute to the number of entities. The solution then, is to change the server so that these entities do not contribute to the number of entities, by storing them in a separate list. It just takes a fair amount of work to do, and to make sure that everything works the same :p
— Reply to this email directly or view it on GitHubhttps://github.com/Razish/OpenJK/issues/206#issuecomment-18813660 .
The limit is 1024 I think. You can possibly change the limit by changing the MAX_GENTITIES definition, but I can't remember where it's defined.
With 16GB to use, I think I can stand a few more entities.
Due to the current lack of 64 bit support OpenJK won't be able to use more than 4GB.
I believe raising the limit would make OpenJK incompatible with existing mods so it probably won't happen.
Darn it!
But wait. I thought engine hax were not going to supported. That's what it says on the readme.
Also, I seem to recall the suggestion of 64-bit support coming up, but the powers-that-be saying that it would have no tangible benefits.
I thought engine hax were not going to supported. That's what it says on the readme.
That refers to changing the executable in-memory to change, which relies on it being unmodified, i.e. the original one Raven provided. That is obviously not the case if you use OpenJK instead. However those in-memory modifications are not necessary anymore anyway since you can now just change the source code.
Entities such as target_print should not be added to the main g_entities array, but an array that only the game module knows about, and will not be networked to clients.
Must add entity thinking code to G_RunFrame too.
Lugormod and JKG could provide code.