Log in

View Full Version : better zone management


opyrus
06-19-2008, 09:00 AM
i realy dont like how the dynamic zone system is setup to be more effective i think is should work something like so.

call every 5mins
dynamiczones = gettotalplayers

alowing dynamic zones to be loaded based on amount of players this would save ram. there would need to be a shutdown empty zones system also so that the server can dynamicly adapt to player load.

opyrus
06-19-2008, 10:44 AM
after i update my server to build 1111 im going to start working on making it add and remove dynamics based on player amount. its rather dumb loading a set amount of zones every time useing up ram and the zones isent even in use. ill also have to add a max zone cap and maybe a pop cap for control theres no point in loading more dynamics then there is zones thats a waste to.

Bulle
06-19-2008, 02:00 PM
What you are saying may be true for a test/sandbox server you plan to have up at all times and to which few players connect, or very irregularly, and if you use your machine for something else (development for example). I agree it could be useful for mine.

For a typical "production" server the machine is dedicated. There is no point to keep spare RAM on the machine (because shut off zones must consume very little CPU).

If you implement this, it would be a good idea to allow switching it on/off through some setting (variable, rule, environment variable etc), so that the original behavior is available. That way it's more options, so more power to us.

ChaosSlayer
06-19-2008, 02:09 PM
yeah, if you have 50+ server pop, booting and removing zone every time number changes from 49 to 51 kind of pointless, since people will be zoning all over the place all the time

opyrus
06-19-2008, 05:43 PM
its hard to explain what i wana do i was in a hurry was time for work when i posted. the way i want it done will require a very large code change over totaly removing static zone use, and fully puting in to place dynamic dynamic zones that are based on pop and cap at 400, a better zone checking system so the server can tell if a zone is idle or not , adding of the time active adaptive event, ect ect ect. my server can become very loaded down as it runs a webserver, several mysql databases, eqemu, wowemu, several other server related scripts and programs so i need it to adapt it self as it is needed and if its not needed alow something else to take over.

opyrus
06-19-2008, 05:49 PM
(got cut off editing my post so heres the rest of it)
i know for a fact the server it self can handle everything at full load but it will kill the server in time from all the heat.
[NEED TO LET THE SERVER REST WHEN ITS NOT NEEDED]

trevius
06-20-2008, 03:00 AM
IMO, writing this large code revamp wouldn't really be well worth the effort. This would only be a minor tweak for server performance and mainly only in the form of freeing up a few MBs of RAM. This might be good if you are counting every megabyte on a system with low RAM, but even when I break 120+, I am still only using maybe 1GB max without paging at all (and that includes what Linux is using).

If you DO want to rewrite the launcher system, I think the most important part that needs attention is the way that ports are used. Ports get used higher and higher each time a zone crashes or is restarted completely. This means you must have much more ports open than you have zones running (total dynamic zones) otherwise you risk new zones not being able to start when they should.

And if you were going to check into fixing how ports work, you might as well stick something in there to make sure that multiple zone servers can work together on the same network. The way to do this would be a way for dynamic (and even static if possible) could be assigned to start ONLY on certain port ranges. So, if a zone is started on zone server B, it would be assigned to the port ranges that are forwarded to server B. As it is now, they can be assigned to either one by the launcher and it makes running multiple zones servers impossible unless you want to risk locking out players every time a zone crashes.

I am not saying that your original idea is a bad one. I think it actually sounds like a good idea if you could do it without too much work. But, it really has minimal impact and if you were going to put time into zone launching, there are bigger things that could use fixing IMO. Of course, a fix is a fix, and we are happy with whatever anyone wants to work on hehe.