EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   General::Server Discussion (https://www.eqemulator.org/forums/forumdisplay.php?f=601)
-   -   new server: windows vs. linux and VMware? (https://www.eqemulator.org/forums/showthread.php?t=26559)

RhinoDude 10-18-2008 03:47 PM

new server: windows vs. linux and VMware?
 
Hey folks,

I've read in several places in the forums and maybe even the FAQ that, OS stability aside, the Linux EQ Emu server is simply more stable than the Windows server. Is this the case, or is the stability difference due to OS stability differences? I can admin a stable windows server, that's not an issue. But if the EQ Emu binaries are really more stable under Linux than Windows, I'll consider it. But frankly I'd rather run it directly under Windows as long as there are no disadvantages to doing so.

Also, is anybody running EQ Emu under a VM hosting either Windows or Linux? I was thinking that if I am going to run Linux (if there are significant advantages), that I would host it as a VM on my quad-core Win2008 rig which, according to my other thread, seems to have plenty of horsepower (quad-core 2.5ghz, 16gb ram, several TB for storage, etc.).

Has anybody run EQ Emu under a VM and found any issues?

Thanks
- Rhino

paaco 10-18-2008 03:57 PM

I have never run one in Linux, but mine on Windows Server 2003 seems extremely stable. I don't think it has ever crashed, I'll admit I make a lot of changes though. Longest I have gone without rebooting for some changes is 3 days or so. But it was still going strong after 3 days.

trevius 10-18-2008 04:48 PM

Windows isn't bad, but Linux is definitely more stable. It isn't Windows itself that is the problem, it is the server code. One of the main issues with Windows is player ghosting. After a few days of players leaving ghosts, a server with decent traffic will be almost unplayable. This won't be as noticeable until you start getting a fair number of players on the server though. Linux doesn't have player ghosts, so it isn't an issue at all there. You can leave a server up much longer without a reset than on Windows. And for some reason, with Windows, you will actually want to reboot the whole PC every week or 2, but Linux never needs to be restarted.

RhinoDude 10-19-2008 05:52 AM

Is this player ghosting something that is considered a bug, or just a design issue that would take a large effort and/or major refactoring to eliminate? I'm curious because I thought Windows and Linux essentially shared the same code base, I guess that is not the case?

Once I get my book done I may be able to take the time to jump in and try to figure out unless this is known to be a issue that would take a significant rewrite to work around.

In my case though it doesn't sound like it will be an issue. I can easily reboot the server daemon after each play session. I was planning on taking it down anyway in between sessions of the group anyway.

Thanks,
- Rhino

paaco 10-19-2008 07:05 AM

It is a bug, I don't think anyone has tracked down the exact cause yet. It seems to happen when a player uses /q instead of /camp. I have seen a few on my server that were ghosts, you can tell be inspecting them, if you are unable to inspect it is a ghost and you can /kick them.

RhinoDude 10-20-2008 08:41 AM

Doesn't sound like it should be too hard to track down. I wonder if the same issue happens with linkdead players?

Is the server completely written in Perl? That's certainly not one of my stronger languages as I don't use any of the scripting languages often, but I'd be willing to take a look at it when I get a working environment to debug with.

- Rhino

Andrew80k 10-20-2008 12:19 PM

The server code is C++, it has an embedded perl that is used for writing quest scripts. There has been some discussion going on about this bug in the past but I don't think anyone has tracked it down yet. I run on Linux so I would recommend that and am comfortable in that environment, but if you are comfortable in windows it certainly runs well enough on that platform. You will need to be mindful of the aforementioned ghost bug though until that is tracked down.

RhinoDude 10-20-2008 12:24 PM

Thanks I already started surfing the development forum and downloaded the code, I'll take a look for it as time permits.

I assume the C++ code is portable, ie the same source is used to compile the windows and linux servers?

I'm going to open up a thread in the dev forum, thanks a bunch.

- Rhino

Andrew80k 10-20-2008 12:28 PM

Quote:

Originally Posted by RhinoDude (Post 158685)
Thanks I already started surfing the development forum and downloaded the code, I'll take a look for it as time permits.

I assume the C++ code is portable, ie the same source is used to compile the windows and linux servers?

I'm going to open up a thread in the dev forum, thanks a bunch.

- Rhino

Yup. Code is the same on both.

RhinoDude 10-20-2008 12:50 PM

Thanks, I actually found a Bug Report thread that Trevius started dealing with exactly that issue, so I've chimed in there:

http://www.eqemulator.net/forums/showthread.php?t=24424

Hopefully we can get this nailed, it sounds like a lot of people could a benefit from it. Not necessarily myself as I'll be bringing my server down after every session, but I know if I was running a "normal" server I'd want it to be able to stay up for weeks on-end if possible.

- Rhino

AndMetal 10-20-2008 12:54 PM

Quote:

Originally Posted by Andrew80k (Post 158686)
Yup. Code is the same on both.

The code is essentially the same, although there are some manual tweaks for it to work with both Windows & *nix systems. Basically, look for all of the #ifdef WIN32 or #if defined(WIN32) blocks and there are your differences between Linux & Windows.

I think there was a post that Trevius posted that had some snippets of code that may have been suspect, but I don't think anything really became of it.

Andrew80k 10-20-2008 01:10 PM

Quote:

Originally Posted by AndMetal (Post 158692)
The code is essentially the same, although there are some manual tweaks for it to work with both Windows & *nix systems. Basically, look for all of the #ifdef WIN32 or #if defined(WIN32) blocks and there are your differences between Linux & Windows.

I think there was a post that Trevius posted that had some snippets of code that may have been suspect, but I don't think anything really became of it.

What I meant, and what I thought he was asking, is that there was not a different download for Windows vs. Linux.

RhinoDude 10-20-2008 02:23 PM

Yep, that is what I meant, sorry I wasn't clear. And I've already gone through some of the code and noticed the #ifdef's right off. Thanks for the heads up though.

- Rhino


All times are GMT -4. The time now is 07:04 AM.

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