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
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
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
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.






