EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Windows Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=587)
-   -   akkadius scripts + static zones (https://www.eqemulator.org/forums/showthread.php?t=40970)

khalathas 10-13-2016 01:35 PM

akkadius scripts + static zones
 
Hey all, recently converted my server from the older style batch file to a much newer version, which also includes the new startup perl scripts. I've got 75 static zones defined in launcher_zones that were running fine, but the script just launches 30 dynamics. How do I use my old static definitions with the perl scripts? Or, is there any reason to do so still? (I was doing it to keep raid targets, such as dragons, on proper respawn timers)

NostalgiaEQ 10-13-2016 02:17 PM

Great question. What are the pros/cons with static vs dynamic? I can't quite figure out what the difference is. Are static zones up constantly and therefore have less loading time but take more server resources? Does dynamic only keep 30 zones up so if people are in 31 zones there are problems?

khalathas 10-13-2016 06:32 PM

From my own experience, a static zone (or in my case, LOTS of them) is going to eat up more RAM than dynamic zones, absolutely. The tradeoff is that static zones maintain their spawn timers where dynamic zones, after a certain duration of being empty, are unloaded, and reloaded as new people zone in. On my server (running on a VM, admittedly), I've got 10gb of ram allocated directly to it (host machine has 32gb), so it isn't really a burden to me, but for lower-resource servers it is a valid concern.

NostalgiaEQ 10-13-2016 06:53 PM

Interesting. I would definitly want all static then because I will have a dedicated server and only a total of 60 zones all old graphics so very small. Hopefully we can figure out how to set zones to static in akka installer.

in the "zone" table I am seeing "shutdown delay" set to 5000 so perhaps setting this to -1?

khalathas 10-13-2016 07:02 PM

I don't think all zones need to be static really, just ones with interesting targets with longer than 12 hour spawn timers maybe...the rest can be dynamic I think. I just don't know how to do it in akkadius's scripts. In the old way I'd go to launcher_zones, define a launcher (or in my case, several launchers, as I grouped them by continent for vanilla zones, and then expansion for later releases), and then ran a series of zone launches as follows:

echo starting zone
start eqlaunch dynamics
start eqlaunch antonica
start eqlaunch faydwer
start eqlaunch odus
start eqlaunch luclin
start eqlaunch kunark
start eqlaunch velious
start eqlaunch ykesha
start eqlaunch planes
exit

NostalgiaEQ 10-13-2016 07:12 PM

Hmm interesting. Well it seems mabye we can stop zones from going idle in the first place by editing server code but not sure about keeping some zones dynamic.

http://www.eqemulator.org/forums/showthread.php?t=39147

for me Id rather have everything static so no matter how many zones people are currently in the experience (lag and whatnot) will always be constant.

khalathas 10-13-2016 07:14 PM

I imagine the idea of stopping zones from going idle is a bad general idea, and a few (or a lot in my case) statics are a better way of doing it. Going to be moving the server to a dedicated linux server with 24gb ram available at some point, so I definitely want to figure out how to do statics again with the new startup scripts

NostalgiaEQ 10-13-2016 07:16 PM

so in that same post prov said:
"You could do the same by making the zone static, by an entry in the database launcher table. The NPCs still go to sleep when idle, so that does nothing."

so now I just need to figure out how to do this. That table only has 2 colums zone and dynamics so not sure how to do this.

khalathas 10-13-2016 07:18 PM

From what I understand, launcher defined the launchers themselves (which were the 3rd parameter in my script above, per line), and then launcher_zones actually defined the static zones and what launcher they belonged to. You could have a launcher that had statics AND dynamics in it, I chose to have a launcher called dynamics that ONLY had 20 dynamic zones, and then several launchers that each held content-specific static zones.

DanCanDo 10-13-2016 07:24 PM

You can look at this old thread for an example:
http://www.eqemulator.org/forums/showthread.php?t=30097

NostalgiaEQ 10-13-2016 07:34 PM

Quote:

Originally Posted by DanCanDo (Post 251759)
You can look at this old thread for an example:
http://www.eqemulator.org/forums/showthread.php?t=30097

nice. What are those "ports" listed on launcher_zone table? Can I just use te same numbers he did?

Akkadius 10-13-2016 07:38 PM

The zones that get launched from my perl based launcher are purely dynamic.

You can achieve most of the 'static' behaviors by keeping zones dynamic and adjusting your 'shutdowndelay' in your zone table to be something that suits your needs.

The shutdowndelay is in milliseconds (1000) = 1 second.

To keep a zone up for, say an hour, you'd set the shutdowndelay to 3600000.

Once a zone has been booted, it will take a full hour to shutdown and go back into the dynamic pool. Only at this time will the zone flush corpses and things of that nature. Spawns and named are in the database so those timers are going to stay in tact regardless - BUT - if you have a low shutdowndelay and pure dynamics, plays can walk back and forth on zone lines to force a spawn cycle for a named that hasn't been killed or has an expired timer.

The perl based launcher is far more resilient and speedy, but does not support statics.

If you want to run statics you can run them in your batch on your own like so

zone.exe soldungb
zone.exe everfrost

Or you can do as mentioned in the thread before and set your launcher_zones table and map all of your statics and run eqlaunch.exe in parallel with the perl launcher.

To give you an idea, EZ Server runs pure dynamcis using the above methodology I explained earlier to be leaner on resources.

Hopefully that clears up some questions.

khalathas 10-13-2016 07:38 PM

Quote:

Originally Posted by DanCanDo (Post 251759)
You can look at this old thread for an example:
http://www.eqemulator.org/forums/showthread.php?t=30097

This is almost exactly how I have mine, with the exception of naming and zones chosen, but yea...this is how it's done.

NostalgiaEQ 10-13-2016 07:40 PM

oops double post

khalathas 10-13-2016 07:40 PM

Quote:

Originally Posted by Akkadius (Post 251761)
The zones that get launched from my perl based launcher are purely dynamic.

You can achieve most of the 'static' behaviors by keeping zones dynamic and adjusting your 'shutdowndelay' in your zone table to be something that suits your needs.

The shutdowndelay is in milliseconds (1000) = 1 second.

To keep a zone up for, say an hour, you'd set the shutdowndelay to 3600000.

Once a zone has been booted, it will take a full hour to shutdown and go back into the dynamic pool. Only at this time will the zone flush corpses and things of that nature. Spawns and named are in the database so those timers are going to stay in tact regardless - BUT - if you have a low shutdowndelay and pure dynamics, plays can walk back and forth on zone lines to force a spawn cycle for a named that hasn't been killed or has an expired timer.

The perl based launcher is far more resilient and speedy, but does not support statics.

If you want to run statics you can run them in your batch on your own like so

zone.exe soldungb
zone.exe everfrost

Or you can do as mentioned in the thread before and set your launcher_zones table and map all of your statics and run eqlaunch.exe in parallel with the perl launcher.

To give you an idea, EZ Server runs pure dynamcis using the above methodology I explained earlier to be leaner on resources.

Hopefully that clears up some questions.

Definitely clears up a lot. I'll just trim my batch file down to the start eqlaunch <launchername> segment, and run it in parallel then. Thank you Akkadius!

Edit: removing my own launcher called Dynamics from my segment of the batch file since your perl script has 30 dynamics already. Perfect! Works like a charm!


All times are GMT -4. The time now is 09:23 AM.

Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.