Payment Cur:  

24/7 LiveChat

24/7 LiveChat Support

We offer Cheapest Runescape Money . Do you wanna be Rich? OK,Join us now! You will feel fast delivery just need 5-15Mins after you have a order! It's so cool! 20M Money just need $79,also we offer 24/7 LiveChat Service,Any questions will get our best service.


24/7 Email Support

sellhelp@gmail.com

HOME :: NEWS

RuneScape Private Servers  (2010-01-24 19:16:04)

I. Table of Contents
Table of Contents
Introduction
Clients
Servers
Sockets
Threading
Timers
Hosting
Packets
Bytes and Buffers
Signed and Unsigned
Data
Interfaces

II. Introduction
As with all new things, everyone should have background information on it before they start, here I’ll shed light on a few things for you to hopefully get you ready for making and maintaining your own server. I feel the first step to maintaining a server is to understand what it is and how it works. Therefore I will help describe the parts that are useful when creating a server.

Private: this term in our case is used to describe our servers as not being affiliated with Jagex. Most of the time, they are in no way actually private. The majority of people are actually hosting a public server, as anyone who wants to can join it.

The actual server application of our system is not copyright in any way, shape, or form by Jagex – it is not using their code or anything directly made by them. However, redistributing a client is a portion that can be considered copyright. To avoid the dangers of this, I would recommend NOT hosting a web client for your users unless you have very secure settings to make sure it’s not known by anyone outside of your community.

III. Clients
The portion of a community that is the least known. A client is the term given to the application that is used by those that are on the other end of the connection your server is maintaining.
The client loads it’s data in some way from what is known as the Cache. The cache holds everything that the client can render. Many functions the client uses need to be initiated by the server side connection, which we call the sending of packets. We will touch on these more later. When the client receives a new packet, somewhere in the code, it breaks it apart into usable variables that are interpreted and tell the client there is a new update to be done. Whether it’s a new player to render, a new item, or even a new chat message, all of these are done with packets sent to the client over the connection from the server.

IV. Servers
A server is an application that is hosted on a computer owned by someone else. Therefore, they are not entirely safe or secure from any one thing out there. They will be able to be crashed, infected, compromised and malicious. The primary concern of each owner should be protection and continuity of their services provided to each of the clients. The server is made up of several portions which manage specific actions. Some of which are:
The ‘Game Engine’: This runs the updates for the game such as movement, items, combat, everything that can happen in the game, without committing any other actions, this allows smooth game play.
The Connection Handler or Listener: This utility runs separately from each other component and listens for a connection request to be made. It then accepts the connection request and binds it to a socket and adds it to some sort of field which will allow easy access to it later, such as a map, a list, or an array. More on this later.
The ‘Worker Thread’ or ‘Server’: This thread runs separately and manages the standard IO and the networking, the sending and receiving of byte buffers to and from the server and clients. This thread is a read-only thread inside the server application. It does not change any variables by itself without first requesting a change through another thread.

V. Sockets
A socket is the specific name for the connection that is made between the client and the server applications. A socket is made when a client sends a connection request to a server on a specific port. It then binds the address and port of the client machine to a virtual port on the server side, to allow a free stream of data. Over this stream you can send and receive data with simple methods. Sending and receiving data through a stream is done with a single method which uses at least a single byte array, called a buffer.

VI. Threading
Thread is a name given to an application that can seemingly run many things simultaneously. The CPU (central processing unit) bounces through these threads updating them all relatively close to the same time, giving the output that it’s running multiple segments of an application at once. Threads usually aid in speeding up a program up to a certain point. Having to many threads can actually slow down the program because the CPU spends more time scanning for the thread then it does operating within it, thus causing performance problems, and the ‘lag’ that many servers operate under.

VII. Timers
Timers use a system variable to keep track of how much time has passed since a specific operation. Although a good idea, there are many flaws to this system. Although not noticeable, each update a server does appears at a different system time, thus every call of this method is different.
Graham* thought up a new method of timing which synchronizes all timed events to a single timer and updates them all based around the same timing system. This system, called events, is a very accurate way around the flaw of the previous timer system, and also makes managing the timers simpler and more compact. No more adding your own statements to update a timer based upon the previous call.

VIII. Hosting
Hosting a server is no simple task by any means. It requires a well managed computer and a very powerful processor. To host a server, most people will need to open a port in their router. Thus allowing data and connection requests to get through. This does open your computer up to outside connections so be careful. If you need help port forwarding, go to portforward.com, and select a router make and model that suits your needs, and then select a random game. Replace the ports it requires with the one you host your server on.

IX. Packets
Called frames by many people, they are actually just a special packet sent from server to client and vice verse with an ‘id’ number so the client can determine what to do with it. Each one has a specific structure, and can be figured out through guess and check, and by looking through the client to where the special packet is located at.

X. Bytes and Buffers
A byte is a group of 8 bits. One bit is a true/false, or 1/0 value stored in electric current. Everything on your computer is made up of bits. The bigger your hard drive is, the more electric values you can hold. Bits deal with the binary system, or ‘base 2′. One byte is a grouping of 8 bits. As you move further into it, the value that this digit stands for increases.