PDA

View Full Version : Dynamic zones ?


Theeper
11-03-2004, 02:20 PM
Maybe I am missing something simple here, but how do I make zones load dynamically on Linux ? Surely, I don't have to open a shell and run each zone manually. I assume a shell script the method or am I way off ?

schoppew
11-03-2004, 04:42 PM
Read the linux readme, it should answer your question.

Theeper
11-03-2004, 05:15 PM
I have read it many times.

Further testing revealed this ...

It seems as though I can have one booted zone at a time. If I am in that one zone, I cannot get a new zone to boot . Also, zones won't boot on character login. I have to manually start them.

schoppew
11-03-2004, 05:21 PM
What is the output of your world and zones log?

Theeper
11-03-2004, 05:37 PM
This is what I get when I try to zone into a zone when I don't have a free static zone server if that makes any sense.

1780 [11.03. - 23:41:10] Starting Log: logs/eqemu_error_zone.log
1780 [11.03. - 23:41:10] HandlePacket() Opcode error: Unexpected packet during C
LIENT_CONNECTING: opcode: 0x%04x, size: %i^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@Unexpected packet during CLIENT_CONNECTING: OpCode: 0x^@
^@^@^@^@^@^@^@^@^@GetAuth() returned false kicking client^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@^@Ghosting client: Account ID:%i Name:%s Character:%s I
P:%s^@^@^@^@^@^@^@SELECT status,name,l

Theeper
11-03-2004, 05:43 PM
Here is the only errors in my world log.

Attempting autobootup of neriaka (40) for Theeper
Error: No zoneserver to bootup neriaka (40) for Theeper

Theeper
11-03-2004, 06:06 PM
I think my problem is that I don't understand how to load Zone servers properly. Since there doesn't appear to be a boot5zones script, I am not sure how we do this on Linux.

If I do ...

../zone neriaka <ip.ip.ip.ip> 7994 <ip.ip.ip.ip>
../zone halas <ip.ip.ip.ip> 7995 <ip.ip.ip.ip>
../zone felwithea <ip.ip.ip.ip> 7996 <ip.ip.ip.ip>
../zone butcher <ip.ip.ip.ip> 7997 <ip.ip.ip.ip>
../zone lavastorm <ip.ip.ip.ip> 7998 <ip.ip.ip.ip>

... I will get 5 static zones in #zonestatus that work properly. But I can only zone into these 5. Somehow, I got a 'dynamic zone server ' connected once and was able to zone into a zone that I had not previously loaded. However, once I was in the non-static zone, I had no more free zone server left.

That make any sense?

wize_one
11-03-2004, 08:10 PM
./zone halas <ip> 7995 <ip> will give you halas as a static zone in the current telnet/ssh session.

to do multi dynamic zones:

./zone . <ip> 7995 <ip> &
./zone . <ip> 7996 <ip> &
./zone . <ip> 7997 <ip> &
./zone . <ip> 7998 <ip> &
./zone . <ip> 7999 <ip> &
./zone . <ip> 8000 <ip> &


and if you want logs for them

./zone . <ip> 7995 <ip> >> port_7995.log &

the & launches it in the background

hope that helps

Derision
11-03-2004, 10:17 PM
Here's the 'bootserver' script that I use:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`
ulimit -c unlimited
nohup ./world 2>&1 >> world.log &
sleep 10
nohup ./zone . xyz.abc.co.uk 7995 192.168.1.100 2>&1 >>zone0.log &
nohup ./zone . xyz.abc.co.uk 7996 192.168.1.100 2>&1 >>zone1.log &
nohup ./zone . xyz.abc.co.uk 7997 192.168.1.100 2>&1 >>zone2.log &
nohup ./zone . xyz.abc.co.uk 7998 192.168.1.100 2>&1 >>zone3.log &
nohup ./zone . xyz.abc.co.uk 7999 192.168.1.100 2>&1 >>zone4.log &
nohup ./zone . xyz.abc.co.uk 8000 192.168.1.100 2>&1 >>zone5.log &
nohup ./zone . xyz.abc.co.uk 8001 192.168.1.100 2>&1 >>zone6.log &
nohup ./zone . xyz.abc.co.uk 8002 192.168.1.100 2>&1 >>zone7.log &
nohup ./zone . xyz.abc.co.uk 8003 192.168.1.100 2>&1 >>zone8.log &
nohup ./zone . xyz.abc.co.uk 8004 192.168.1.100 2>&1 >>zone9.log &
nohup ./zone . xyz.abc.co.uk 8005 192.168.1.100 2>&1 >>zone10.log &
nohup ./zone . xyz.abc.co.uk 8006 192.168.1.100 2>&1 >>zone11.log &
nohup ./zone . xyz.abc.co.uk 8007 192.168.1.100 2>&1 >>zone12.log &
nohup ./zone . xyz.abc.co.uk 8008 192.168.1.100 2>&1 >>zone13.log &

Theeper
11-04-2004, 12:53 PM
Thanx alot for your help guys. That is exactly what I needed to know. I apprecuate you taking time to answer.

Just curious Derision...

Basically, what is your hardware and how many simultaneous players does it support without either killing your server or lagging the clients. Do you ever run out of zones ? That may be a dumb question though, cause I am assuming 15 different people in 15 different zones is all you can support at all. The 16th will get a 'not available' message?

Also, any idea about how much bandwidth a player uses up on average when connecting to a Emu server ?

Derision
11-04-2004, 10:23 PM
I used to host a non-legit server on my 512/256 ADSL line. The server was a P4 2.8Ghz with 1 Gig of RAM.

The biggest limiting factor I found in the number of simultaneous people that I could host was my upstream bandwidth (256Kb/s). I could have 20 people on with little problem if they were all in separate zones (obviously I would boot more zone servers if I was going to allow 20 people on).

It is a different story when multiple people are fighting in the same zone however, as this increases the amount of data the server needs to send to the clients.

Even when I limited the maximum number of players on my server to 10, people would still go LD if there were a few people in a group fighting, or an arena brawl. This was purely down to the amount of data the server was sending exceeding my upstream bandwidth ... CPU and memory were not being stretched at all.

So, if you have a decent PC with 1GB of RAM, your upstream bandwidth will generally determine how many players you should allow on the server.

As you say, you need a zone server per person, if they are all going to be in separate zones, plus a few extra to take account of the fact that when they zone, the zone they are leaving and the one they are entering will be up simultaneously. If there is nobody in a dynamic zone, it will go to sleep after a few seconds and be available to boot up a new zone the next time someone zones.