Archived

This topic is now archived and is closed to further replies.

JakeL

Linux vs. Windows?

Recommended Posts

JakeL    122
Hello, I was recently wondering what OS the current MMORPGs run? I''m assuming they are using Linux primarily and possibly some using windows NT. If anyone has any info on the specific advantages which would make Linux much better than windows, please reply. Also, if you know which OS a specific MMORPG uses, it''d be extremely helpful. Thanks. -drek (BTW, sorry if this has already been covered but sadly the search command is still offline =( )

Share this post


Link to post
Share on other sites
clrscr    158
One advantage Linux has is its free and for a MMORPGs need a few servers, so unless you have alot of upfront capital Windows falls out of the running.

Its not knowing the path but walking it.

Share this post


Link to post
Share on other sites
I dont know about current mmorpgs but generally a well configured linux server is much more stable than a windows one. So for games like mmorpgs it would be more efficient to run on unix -> less downtime.

If an mmorpg is built around sockets (all of them are?), I dont see any reason why they wouldnt run it on a unix os.

Share this post


Link to post
Share on other sites
JakeL    122
Thanks for the replies! The main reason I asked this question was due to that fact that my windows computer hasnt really crashed ever. I was just wondering if Linux was still overwhelmingly more stable? I guess porting server code from Windows<->Linux wouldnt be too hard but what do I know. Anyone here experienced with porting between Linux and Windows? Thanks.

Share this post


Link to post
Share on other sites
Martee    476
If you stick to standard C/C++, and stick to the BSD sockets portion of WinSock, porting shouldn''t be difficult at all.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
For operating system it all depends on how you configure it to determine how stable it is.

Share this post


Link to post
Share on other sites
bit64    218
NT servers are also used for Asheron''s Call and for Dark Age of Camelot. I know of absolutely no MMORPGs that use Linux, and I have studied most of them closely.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
Wasn''t Asheron''s Call backed by microsoft tho? If so than there''s no real surprise there.

Share this post


Link to post
Share on other sites
KalvinB    102
I''ve been running IcarusIndie.com on Win2K for over a year and a half with no downtime due to Windows while consistantly transfering 10s of GB a month (20-40). Hardware and software updates are the only reason it''s been down and even then it''s rare and for only a few minutes to an hour or two at most. I can leave it running for any amount of time and not have to worry about it.

"It can run on Linux" is more of a "neat" thing than a "necessary thing."

My MMO server could easily be ported to Linux but I have no reason to do so.

Ben


IcarusIndie.com [ The Rabbit Hole | The Labyrinth | DevZone | Gang Wars | The Wall | Hosting | Tiberian Merchandise!!!! | GameShot ]

Share this post


Link to post
Share on other sites
Dean Harding    546
Don''t think you can port a server application between operation systems without a lot of difficultlies. If you''re writing a server application, pick an operating system, and stick to it. You''ll be much better off in the long run, because you can then use the features specific to that operating system to maximize performance.

It''s OK to write a portable client, because it''s mostly just operngl calls and stuff (which is portable anyway), but high-performance networking and threading code is generally not portable at all (because different operating systems have very different internal structures, and what works on one will not necessarily work on others)

Besides, you''re really only going to run a couple of instances of the server anyway (depending on how popular your MMOG is) so there''s no need to make it portable anyway.

If I had my way, I''d have all of you shot!


codeka.com - Just click it.

Share this post


Link to post
Share on other sites
Coreyh    122
There''s a neat thing called POSIX. Makes it easy to run servers on many different OSs.

kdIXfA.gamedev.10.coreyh@xoxy.net
www.ipeg.com/~rlfc

Share this post


Link to post
Share on other sites
Dean Harding    546
quote:
Original post by Coreyh
There''s a neat thing called POSIX. Makes it easy to run servers on many different OSs.



POSIX is implemented on... what... Unix, and that''s about it. And even then, usually not all that well...

Anyway, that''s exactly my point. If you think of POSIX as a "platform" then you write for that platform. You don''t write it to be portable between platforms (For example, Windows and POSIX).

Oh, and while Windows does have a POSIX subsystem, there''s some serious limitations which make it totally worthless for writing server applications with. Here''s the list from MSDN:

  • POSIX applications only launch other POSIX applications. They can not launch DOS, OS/2, Win16 or Win32 applications.
  • POSIX applications can not call any Win32 APIs. They do not have any access to DDE, OLE, memory mapped files, named pipes, windows sockets and other Win32 features.
  • POSIX applications can not implicitly or explicitly load a Win32 DLL.
  • POSIX applications do not have access to any networking APIs such as pipes or sockets. They are not network aware, but they can access files over the network.
  • POSIX applications do not have any source level debugger support. You cannot use Windbg or the Microsoft Visual C++ debugger to debug POSIX applications on Windows NT
That second-to-last point is the most interesting - you can''t even write networked POSIX applications on Windows...

So yeah, my point still stands

If I had my way, I''d have all of you shot!


codeka.com - Just click it.

Share this post


Link to post
Share on other sites
abdulla    164
Well Windows NT''s have a POSIX compatbility layer, and the overwhelming amount of operating systems out there are Unix derivates/clones/compatibles and even Windows to some extent, POSIX is good, it''s a standard more people should conform to.

Share this post


Link to post
Share on other sites
Dean Harding    546
quote:
Original post by abdulla
Well Windows NT''s have a POSIX compatbility layer, and the overwhelming amount of operating systems out there are Unix derivates/clones/compatibles and even Windows to some extent, POSIX is good, it''s a standard more people should conform to.


I just said that POSIX on Windows is next to useless because it doesn''t even have access to the network layer.

Besides, just because a particular operating system implements the POSIX standard (or parts of it, as is the case most of the time) doesn''t mean that''s the most efficient way to do things on that OS.

And, like I said earlier, since you''ll only ever have one or two instances of an MMOG server, what''s the point of making it portable?

If I had my way, I''d have all of you shot!


codeka.com - Just click it.

Share this post


Link to post
Share on other sites
Coreyh    122
This is my own opinion, but I thought Microsoft made their POSIX support suck because they didn''t want you using other servers. Personally that makes me pretty angry. POSIX makes porting insanely easy.

kdIXfA.gamedev.10.coreyh@xoxy.net
www.ipeg.com/~rlfc

Share this post


Link to post
Share on other sites
Ixpah    122
IIRC Windows NT has the minimum POSIX support to pass some US government purchasing policy, i.e. all machines must support POSIX.

Even a single instance of a MMORPG is likely to have multiple server machines, so Linux could well be a big cost saving.

Share this post


Link to post
Share on other sites
Dire.Wolf    122
quote:
Original post by Alexandre Brien
I dont know about current mmorpgs but generally a well configured linux server is much more stable than a windows one. So for games like mmorpgs it would be more efficient to run on unix -> less downtime.


That is utter BS. We''ve had server applications running on Windows 2000 Advanced Server machines that have had uptimes approaching 12 - 14 months. The only thing that brings down these machines is scheduled maintenance, bad hardware, or bad drivers. I''ve never seen a poorly written server application bring down a Win2k box - ever unless it has badly written custom drivers which no OS is immune to.

Dean is correct though. Why worry about portability for an MMORPG? Core components of a MMORPG should be written to take advantage of native OS facilities for efficiency and performance reasons. If portability is a concern, look into using patterns like the Wrapper Facade (as defined in the ACE framework) and Bridge (among others.) These patterns allow you to abstract the details of native OS services into common interfaces. After that, it is simply a matter of writing modules that support various platforms.



Share this post


Link to post
Share on other sites
Igilima    122
So I take it that all of you would warn against using DirectPlay for your client/server communications? Of course, if you were to use DirectPlay, you would be stuck with Windows 2K or XP for your game server.

I want to hear why, some other method would be better than DirectPlay if you can indulge me. I''d prefer to keep the network code portion of my planned game as simple as possible while maintaining reliability and speed.

I suppose you could still use standard tcp/ip between the game server(s) and your database server(s).

Share this post


Link to post
Share on other sites
Dean Harding    546
quote:
Original post by Igilima
So I take it that all of you would warn against using DirectPlay for your client/server communications? Of course, if you were to use DirectPlay, you would be stuck with Windows 2K or XP for your game server.



Not neccsarily. I don''t know anything about DirectPlay, so I wouldn''t discount it just like that. On the other hand, I''d make certain that it can handle the number of connections you''re going to be expecting. Apparently, DirectPlay 8 can handle MMOG numbers of players (but whether that''s "hundreds" or "thousands" I don''t know).

Also, regular sockets aren''t that difficult to write efficiently, as long as you know what you''re doing (but it''s the same with anything, really)

Finally, while I don''t advocate portability of the server, portability of the client is a big plus, and DirectPlay won''t run on Linux (I don''t know what it would be like writing a client for a DirectPlay server in sockets).

If I had my way, I''d have all of you shot!


codeka.com - Just click it.

Share this post


Link to post
Share on other sites
Igilima    122
I guess it is off the topic of the linux vs. windows server thing but since I am working on D3D stuff, my clients are all stuck on Windows anyway.

Share this post


Link to post
Share on other sites
mtaber    122
DirectPlay makes a lot of the network communication very easy to implement in comparison to writing it using Winsock. The reason is because you have a lot less control over what is going on and see a lot less. It just abstracts a lot of things is all.

There''s a relatively easy to use lobby server, among other things and the SDK comes with a lot of examples. If you''re already tied to windows, go ahead and try it. Just remember that you''re not going to see as much of what''s going on, so you won''t understand exactly what the underlying network code is doing as well as you would if you did it yourself with Winsock.


Looking for an honest video game publisher? Visit www.gamethoughts.com

Share this post


Link to post
Share on other sites