Advertisement

MMORPG questions

Started by February 22, 2005 04:29 PM
12 comments, last by Lenox 19 years, 11 months ago
Hey, I have a few questions. I know this is way out of my league, but i'm designing the multiplayer/networking part of this MMORPG I am going to make in a few years ( yes, I plan to get experience first ), so I have some stuff that I need to clear up for my design. (NOTE: This is all in C++) Ok, I have a client/server setup, so based on this, I have the following questions: 1.) Should the server handle the AI? ( Movements, etc. The way my AI is going to work is that it randomly draws an action from an array of actions to execute, and does that. ) 2.) Based on the fact that I'm going to do the multiplayer/networking part without a third party lib, which protocol should I use, UDP or TCP? ( No explanation needed, I don't want this thread to turn into a protocol war :P ) 3.) Should the server handle the map? ( I'm asking this because I want to be considerate of the space on the user's hard drive. ) 4.) Should the server files be bigger than the client files? (lol, aka, should I put anything space intensive on the server, like, map, AI, player data, etc. ) Thanks for any help in advance, -Lenox
1. Server should handle just about everything if you want security.
2. TCP for security things like sending PW and important packets, use UDP for the movement and less important packets.
3. Yeah, or you could do both. But anything you have clientside the more its easily hacked.
4. Yeah, the server is a master and includes everything about everything.
Advertisement
Quote:
Original post by bgilb
1. Server should handle just about everything if you want security.
2. TCP for security things like sending PW and important packets, use UDP for the movement and less important packets.
3. Yeah, or you could do both. But anything you have clientside the more its easily hacked.
4. Yeah, the server is a master and includes everything about everything.


Aiight, thanks for the response. I was expecting you to say what you said for #1, 3, and 4, and just wasn't sure about #2, so Thank you greatly :P.
1. Yes.
2. UDP. Mixing UDP and TCP may cause excessive jitter in the UDP stream if you're not careful.
3. Yes, you can have large files on the server, but the client will need them too.
4. You may have additional files on the server that are not on the client (such as NPC AI behavior scripts and quest data) but in general, if the server has a map, the client needs that too, plus the client needs render mesh and texture files that are not needed on the server.
enum Bool { True, False, FileNotFound };
I would suggest having more than one server too; I actually have thought this out beacuse my designers and myself are thinking of working on a 2D/3D MMORPG. We were considering having a three server setup:
1. Master Server(s)    A. Deals with authentication of clients; files; and accounts    B. Deals with 'logging' in and storing of player data2. File Server(s)    A. Bittorrent style of downloading patches; this is the "tracker"    B. Has a copy of the whole file-base that is being patched    C. Provides a high bandwidth seed; also sends out specific files to create       the users (downloaders) as seeds for these files as well    D. Sends MD5 checksum information for all files that are being updated3. Logic (Game) Server(s)    A. Basically handling everything else...

Each "world" would have it's own logic server; let's say each "coast" or "region" would have their own Master server (would could talk back to a main server) and then each region would have a few file servers as bittorrent seeds.
-John "bKT" Bellone [homepage] [[email=j.bellone@flipsidesoftware.com]email[/email]]
Quote:

1. Yes.

All right.

Quote:

2. UDP. Mixing UDP and TCP may cause excessive jitter in the UDP stream if you're not careful.

Point taken, point noted.

Quote:

3. Yes, you can have large files on the server, but the client will need them too.

So the client will just need the map and all items on it, while the server tracks all objects on it and gives specific locations, etc?

Quote:

4. You may have additional files on the server that are not on the client (such as NPC AI behavior scripts and quest data) but in general, if the server has a map, the client needs that too, plus the client needs render mesh and texture files that are not needed on the server.

Alrighty then.


Thanks for all your help,




-Lenox
Advertisement
For point 4 the server doesn't need stuff like the graphics models, animations, textures, etc. That kind of thing is purely client-side eye-candy. It does take up a ton of space though so your client-side files could be bigger than your server-side files.
-Mike
"2. UDP. Mixing UDP and TCP may cause excessive jitter in the UDP stream if you're not careful."

Does this lead to the creation of jitterbugs? =P

-=[ Megahertz ]=-
-=[Megahertz]=-
Alright then, I have another question.

1.) Do I still have to sign that form for raknet in order to use it in a commerical game, even though they basically made it all free?


Thanks in advance.
Quote:
Original post by Lenox
Alright then, I have another question.

1.) Do I still have to sign that form for raknet in order to use it in a commerical game, even though they basically made it all free?


Thanks in advance.


if you want a commercial licence, you have to apply for it. however it is free. you only have to fill out that small form on the website and Rak'kar will email you the licence. as long as you fill out the form with a description he will approve.
FTA, my 2D futuristic action MMORPG

This topic is closed to new replies.

Advertisement