[INTEL] Basic knowledge about server emulators.

05/06/2010 11:51 Basser#1
The Q&A is very basic, the further you read, the more of importance it is to understand it. I really advise anyone not able to create a custom server base to read this, but I cannot promise it will help you out.

What is a Private Server?
A private server is basically a 'clone' of a game.

Is there a difference between private servers and emulators?
Not really, we call emulators - private servers, and the other way around.

Why are there private servers?
Some games are paid, and players believe there should be a free server to play, others think the makers of the game went to commercial, or just made the game play worse after an update, and therefore make their own server. It can also be a project for someone who wants to practise coding, and is not capable of making an entire new game, for example because he cannot make graphics.

What do private servers 'clone'?
Normally when we speak about a server emulator, it is emulating the server-sided part of a server.

Now the real explanation.
Okay, so imagine you are a game maker, you have a client working, it can connect to a big middle point, the server, this server will do calculations, saving, and so on, and respond. Seems easy right? Well it isn't that easy.

What does the server have to be able to do?
  • a. Have a perfect connection to the client.
  • b. Recognise real clients and pick out fake connections.
  • c. Read the sent information (Packet)
  • d. Handle the read data (Packet)
  • e. Appropriately respond to the handled data with (other*) data.
  • f. Do server-sided calculations.
  • g. Save data.
  • h. Load and read data.

Now add keywords, the numbers connect the points above to the keywords.
a. Socket System, TCP, Internet.
b. Cryptography, Authentication, Packet Structure*.
c. Packet Structure, Packet Types.
d. Packet Types*,
e. Packet Builder, Socket System
f. --
g. SQL, Database.
h. SQL, Database.

Legend:
Bold Keywords will be explained.
Underlined Keywords you will need to know what these things are, but it easy to find out, just google these.
Italic Keywords are very hard to explain for me, please try to learn as much about these as you can.
Normal keywords should be plain and simple.

Cryptography is simply making plain text a hell to read for a human.
A simple example is replacing every letter by a number. e.g. B = 13, A = 17, S = 28 and I would want to send my name, 13, 17, 28 would make Bas.
However an encryption should be as had as possible, because you don't want anyone to read the data. This is because the sent data can be changed, to make your own profit, also to make edits to the client impossible, they use cryptography. I really, really recommend you to read this Article.

Authentication is the verification of sent data to be valid, and ignoring fake connections, and passing through the real connections to the other servers.
Packet Structure is the structure in data sent.
The packet builder makes this structure. We cannot know what the structure is like, should we read a string (text) first, and how long should it be? How many int(32)s follow after that? Which bytes make up the character name?
Well, to answer these questions, they use a structure in packets. Please take a look at [Only registered and activated users can see links. Click Here To Register...] and study it very carefully, also you need to read an article on Packets. (Internet communication)

Packet Types are used to figure out what the packet is for, what we need to do with it, and what structure is connected/linked to the data.

Packet Builder see Packet Structure, it is to make this structure. Also study [Only registered and activated users can see links. Click Here To Register...] for more information.

SQL (Structured Query Language, correct me if I'm wrong) is the standard language used to request and edit data on a database. Understanding SQL is not only important for private servers, but also for websites using e.g. a search engine. Wikipedia has an article for more information, and visit [Only registered and activated users can see links. Click Here To Register...] for learning SQL.

I hope I explained myself correctly and some of you will learn a little bit of this.
Feedback? Post it.

Thanks are always appreciated.
05/06/2010 22:52 ~Yuki~#2
Authentication: Verifying Data to be valid and match to given cases.

Thats just how i would describe it.

Nice Thread, good job also very well written. +1 thx
05/06/2010 23:20 pintser#3
Underlined Keywords hehehe...

+1K
05/06/2010 23:41 CIRASH#4
Quote:
Originally Posted by ~Yuki~ View Post
Authentication: Verifying Data to be valid and match to given cases.

Thats just how i would describe it.

Nice Thread, good job also very good written. +1 thx
You mean very well written not very good. Also, I agree this thread is very informative.
05/06/2010 23:52 ~Yuki~#5
one day my english will be perfect....
05/06/2010 23:55 CIRASH#6
I should have noticed the (I'm guessing) German in your siggy. Also, I wasn't trying to be mean with correcting you. It's honestly just a habit I have.
05/07/2010 08:37 Arcо#7
Nice, informative thread.
+k bas
05/07/2010 14:01 copz1337#8
Quote:
Why are there private servers?
Some games are paid, and players believe there should be a free server to play, others think the makers of the game went to commercial, or just made the game play worse after an update, and therefore make their own server. It can also be a project for someone who wants to practise coding, and is not capable of making an entire new game, for example because he cannot make graphics.
Actually the first sentence I disagree with. I play LastCo and in that server you have to donate to be even DECENT. It's all about the patch and the features in it. For example, my favorite is 5065 because it's not buggy, it doesn't have ninjas and it doesn't have mounts/horses. I've already donated 30 usd to that server and I'm going to donate more later. I feel that it's worth it, level 185 weps there are amazing.
05/07/2010 20:01 .Summer#9
Good topic :)
05/07/2010 21:26 pro4never#10
Quote:
Originally Posted by copz1337 View Post
Actually the first sentence I disagree with. I play LastCo and in that server you have to donate to be even DECENT. It's all about the patch and the features in it. For example, my favorite is 5065 because it's not buggy, it doesn't have ninjas and it doesn't have mounts/horses. I've already donated 30 usd to that server and I'm going to donate more later. I feel that it's worth it, level 185 weps there are amazing.

He was talking about the ORIGINAL game... Aka wow emulators. The emulators were in many cases developed because people didn't want to have to pay to play the game (monthly subscription). This is not an explanation linked to just conquer, it's about emulators/pservers in general.

Also... unless this is a fully custom 5065 source you're paying to play a binary server... which makes me laugh quite a bit seeing as bins are just so full of fail.
05/08/2010 10:34 ~Yuki~#11
Quote:
Originally Posted by CIRASH View Post
I should have noticed the (I'm guessing) German in your siggy. Also, I wasn't trying to be mean with correcting you. It's honestly just a habit I have.
No probs its nice u told me i spelled it wrong. Thats the only way i can improve.
05/08/2010 11:34 Basser#12
Thanks for the comments.
Yuki, I will add your description, I didn't really feel like making one up when I was writing that.
Does anyone know what I could add?
Perhaps sources, articles with information, more topics, more explanation, better explanation?
I figured out there are no decent articles about private servers, either it's that or I was just looking at the wrong places, but I thought writing one myself wouldn't be too bad.
Did anyone find grammar mistakes, since I make these A LOT, or does anyone have feedback on my writing style?
05/08/2010 11:47 dragon1516#13
You`re awesome dude , keep going . thanks
05/08/2010 12:01 Basser#14
UPDATED.
Added Keywords:
Authentication (Thanks to Yuki.)
SQL