27 September 2006

The server migration is complete

Well, sort of, there are still some people on the old server, see below.

The whole moving process was relatively easy, but not painless. One of the problems was that the old server was running FreeBSD 4.x and the new one is running FreeBSD 6.1
While they are both FreeBSD, the binaries didn't work due to some missing libraries. So we had to recompile all the stuff, which included the programs that facilitate viewing the player statistics, the guild dump program, the Small/Pawn compiler, and various other utlities we have. Doing all that took a lot of time, as we had to modify quite a few things, misplaced some makefiles, and so on.

One other difficult aspect was the fact that the new server had a different address, so we need some player interaction, where they had to manually change the server address. Now, this is a very trivial thing to do, and takes a few minutes at most. I incorrectly assumed that everyone that uses a computer knows how to edit a text file. Well, this is not quite true. Besides for multiple and ample warnings, given a week before the server change, teaching people how to do it, many people didn't give a shit about it, and didn't even know we were going to change the server.

After transfering all the data on the new server, and after restarting both servers (the old and the new one) I wanted to make it obvious that the old server is the old server, and that the new server is the new server. So I modified their respective opening screens, to denote which server is which. On the old server, I even put the URL to the forums post explaining how to change the server address.

Obviously, that was not enough, as quite a few people just ignored the opening screen. Some people didn't know the English language, so we sent some people speaking Portugese, Spanish, German, Dutch, Polish, etc. to explain their compatriots about the server change. Some player even made a script to announce that all over the server, in 5 languages (I gave him mod access so he can send global messages every 5 minutes or so).

[17:30:42] #Message from ttlanhil: This is the OLD server. You MUST go to the new server to play EL. Use the command '%server_address game.eternal-lands.com' and then exit and restart EL.
[17:30:54] #Message from ttlanhil: Dit is de OUDE server. Je MOET naar de nieuwe server gaan om EL te spelen. Gebruik het commando '%server_address game.eternal-lands.com' en dan herstart je
[17:31:06] #Message from ttlanhil: Este servidor Ú antigo. Devem mudar para o novo. Usem o comando '%server_address game.eternal-lands.com' e entrem novamente
[17:31:18] #Message from ttlanhil: Ez a rÚgi szerver. Az ·j beßllÝtßsßhoz add ki a '%server_address game.eternal-lands.com' parancsot Ús lÚpjki, majd vissza
[17:31:31] #Message from ttlanhil: To jest stary serwer. Aby grac musisz przeniesc sie na nowy serwer. Uzyj komendy '%server_address game.eternal-lands.com', nastepnie wyjdz i restartuj
[17:31:44] #Message from ttlanhil: Das ist der alte Server. Zum spielen muesst ihr auf den neuen Server gehen. Benutze '%server_address game.eternal-lands.com' und starte neu

Now, every resonable person would think that this is enough. Afterall, the messages were clear; type: %server_address game.eternal-lands.com and then restart the client, and you are on the new server.

Well, it turns out that one idiot was ignoring all those messages, because, in his oppinion, they were annoying. Her eis the dialogue (his name was edited out to protect him).

[17:35:08] idiot: can i have free stuff
[17:35:17] idiot: plz
[17:35:19] marthman: you need to switch to the new server
[17:35:30] idiot: whats that
[17:35:59] marthman: have you noticed this blue messages comming over and over again?
[17:36:10] idiot: ya
[17:36:32] marthman: and have you read them? :)
[17:36:56] marthman: this server here is the old one. all exp and all stuff you get is lost. You need to go to the new server
[17:36:57] idiot: no not really i think they get annoying
[17:37:12] marthman: this is the reason!! :) ppl should read them
[17:38:10] marthman: just type %server_address game.eternal-lands.com
[17:38:20] marthman: then log off and log on again and you are on the new server
[17:38:42] idiot: wat was the first thing
[17:39:03] marthman: what first thing?
[17:39:17] idiot: the fist thing you said
[17:39:45] idiot: to get to new world
[17:39:45] marthman: i asked you if you need help to switch
[17:39:56] idiot: ya i do
[17:40:17] marthman: oh. just type: %server_address game.eternal-lands.com
[17:40:32] idiot: wats that mean?

So as you can see, we had a lot of fun...

One last thing:
The new server is a Dual P4 Xeon 3Ghz
The old server is a Dual P3 1.2 Ghz

I expected the new server two be at least twice as fast as the previous server, and it is faster when no users are logged in (under 1% CPU, while the old server uses about 3%). However, when the players start to log in, the CPU usage is comparable with the previous machine, which kind of puzzles me..
We run all kind of stress tests, and noticed that with 2K pending connections, it went as high as 50% CPU. So we need to look further into this issue, because I am not happy with it at all. I have some ideas in mind, but will post about them next time.


Blogger Unknown said...

Maybe now my character scristin will be whitelisted.


27/9/06 07:52  

Post a Comment

<< Home