Rakion Network

From RakionHQ Wiki

Jump to: navigation, search

People complain about Rakion requiring "better servers". Let me tell you, you are wrong and mis-informed on how game networking works. Rakion is built mainly on a peer-to-peer network architecture. Simply put, in game, you are connected directly to other players - there is no server.

Contents

So then whats the server I connect to?

The list of the servers that you can choose to connect to at the start of Rakion is to see who else is connected, to chat in the channel, to join/host games, etc.
Basically, this lets Softnyx know who is online at any particular time, it also helps Softnyx to make sure people don't hack item transactions in the shop, as the client-server architecture provides better security.

So why is there a server for the shop but not games?

Servers require high maintenance to keep up the security and to make sure they don't crash or anything like that. This means that the majority of them will use transmission control protocol (TCP) for the benefits of high security. However, as great as the security benefits of TCP may be, they have the down side of being slow. Due to the slow speed of TCP, it would be inappropriate for real time online gaming.

This is why real time online games are built off user datagram protocol (UDP). UDP is significantly faster than TCP. However, it has basically no security at all. Which is why you get bugged hits that don't register (packet loss), its also why you see people teleporting (corrupted packets).

OK but why not have a UDP server?

As already stated, UDP has basically no security, therefore is more prone to cause computers or servers to crash. Your everyday computer is significantly cheaper than a server, so its moderately ok to communicate via UDP. If an individual computer crashes, its not going to affect anyone else, if a server crashes, its going to affect everyone connected to that server (MASS DC!! xD).

Also, you can think of it this way: If I'm playing with someone next to me via a LAN and we have to connect to a server, which is (for example) located next door, the data packets I send go from my computer to the router, then to the server next door, then back to the router, then to the computer next to me. Whereas, if there was no server, it'd go from my computer to the router then directly to the computer next to me.

Lets try a more global example. Say I am playing from New Zealand against someone in South Korea, if you look at a world map, you will see that Papua New Guinea is right in the middle, so we'll place a server there because it maintains that direct line. Even with this setup, the packets I send still have to travel through the server, it adds a delay because the server will no doubtedly process the packet before sending it off to be processed yet again by my opponent in South Korea.
If I connect directly, there is no server for packet processing, so there is less delay.

So what about the game hosts? Aren't they like a server?

Thats partially correct. In the golem game mode, the host is responsible for all communications related to the Gold Golem and the 2 Master Golems. So if the host lags, the golems lag. If the host freezes, the golems freeze. The hosts have no responsibility for the other players or any summons other than their own. So all you people who blame hosts for laggy games when you're playing PvP, shame on you!

In the other game modes TDM, Solo and Boss War - theres basically no host. Each player is given a score keep. I'm not 100% sure how this works, but I think its something like this: If we have 6 players (1, 2, 3, 4, 5, 6) and player 1 kills player 3, player 3 communicates that it died by player 1 to all the other players (1, 2, 4, 5, 6). Each of the players then reply to player 3 saying that their score keep as been updated, player 3 makes sure that it has received a reply from each player within a certain time frame (say 1 second), if it hasn't received a reply within that time frame, it'll send out the same message to the players who didn't reply. If there is no reply, it'll repeat the process until there is a reply or until it has repeated it about 5 times. If after the max number of repeats has gone and there is still no reply, it will communicate through other players to see if they can communicate with that player, if other players can not connect with that player, they are deemed to have disconnected and are removed from the game.
Of course, these checks happen a lot more frequently because you need to communicate your position every 10 milliseconds or so in order to maintain that smooth movement without teleportation.


Just as a note, I have not seen the actual coding behind Rakion and therefore do not actually know if there is a server in the mix or not. However, granted that you get ping readings of ~1ms between LANned computers, I think we can safely assume there is no server in the mix.

And as already stated, I'm not 100% sure if the host thing in TDM, Solo and Boss War is true or not. However, based on my knowledge of Computer Networking and my observations from playing Rakion, I'm pretty confident that its close to the truth.

If you have any questions, I'd be happy to answer them. Just visit me at RakionHQ.com


Ping/Latency (ms)

This is also known as round trip time, its the time it takes for a no-op packet to be sent from your PC to another PC and sent back. So in other words, its your upload + their download, then their upload + your download, what you see as someone's latency (ms) is roughly what they see as yours. Therefore, if everyone (or a large majority) in the room is lagging, then its most likely that you are the one lagging.

But I have a good internet! Why do I lag?!

Internet speeds can be subdivided into 2 categories. Bandwidth of data transfer and the latency of data transfer.

The bandwidth determines how much data can be processed/sent during a given amount of time. So thats like your 10mbps or however much data your line can transfer. This is good or bad for large games with cells.

The latency, as stated above is known as round trip time and measures the time taken for packets to be sent back. This is why you can still play Rakion while you are capped - you just can't handle a lot of players because that requires a higher bandwidth to play on. When you're capped, they just restrict the amount of data you can transfer at any given time.

Personal tools