Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Conquer Online 2 > CO2 Programming
You last visited: Today at 01:10

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Question]Interaction between servers

Discussion on [Question]Interaction between servers within the CO2 Programming forum part of the Conquer Online 2 category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Oct 2010
Posts: 22
Received Thanks: 1
[Question]Interaction between servers

how the authentication server communicates with the game server in conquer?



matheus2984 is offline  
Old 06/27/2016, 02:04   #2
 
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,347
You mean the official server or pserver a? There are tons of ways you could do it including a shared database, networked messaging system between machines or local system communication such as named pipes

I would assume it's just validating in database and then the game server checks the db for connection validity when you connect to it. Fairly simple to secure something like that


pro4never is offline  
Old 06/27/2016, 10:38   #3
Moderator

 
elite*gold: 0
Join Date: Jul 2006
Posts: 2,099
Received Thanks: 719
Experience tells me to use network messages instead of pipes, you think you want them always on the same machine but you really don't.

As far as databases go, there are plenty of ways to manage a distributed system, try to think of the lowest common denominator and make that your master cluster (or just opt for the loadbalancer, but it's really not needed for CO), and make that communicate with the rest of the slaves.
KraHen is offline  
Old 06/27/2016, 22:57   #4
 
elite*gold: 0
Join Date: Oct 2010
Posts: 22
Received Thanks: 1
the question is how the game server knows that a client is the X user?


matheus2984 is offline  
Old 06/27/2016, 23:40   #5
 
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,347
Quote:
Originally Posted by matheus2984 View Post
the question is how the game server knows that a client is the X user?
I'm sorry but this is all really, really basic stuff that should be pretty easy to understand by reading through any basic source (even if those sources don't use cross-server authentication).


When you connect to the authentication server, your client sends servername, username and password for your login request.

The authentication server validates this info and if you are able to log into the given server. It then sends one or two authentication keys to the client depending on the version and the ip/port to connect to for the game server.

At this point the authenticaiton server can pass that info to the game server through the database (EG: Player with ID 123 is validated using the token 321 and the IP of 127.0.0.1 for the next 30 seconds on server ID 1), through network communication, through inter-process communication or any other option desired by the person writing the server (honestly DB seems like the easiest to implement and secure off the top of my head and scales well)

When the client connects to the game server, ti sends the token the auth server gave it saying "hey, here's my token, I'm supposed to be able to log in) and the game server validates that token, completes the login process and logs them into their character.



It's true that most pservers simply reply using the account ID but a key value can easily be done and the same is true for IP validation to prevent possible authentication hijacking (if you use a static key for each account, I could sniff your account ID and then spam authenticaiton requests with your ID and steal your login... VERY bad practice). by using a randomized key per login attempt you remove the possibility to intentionally hijack a specific connection attempt and by using a public/private key setup, an IP value or through careful login attempt tracking you can further secure the process (EG: after 3-5 failed game server authentication attempts it could filter the IP entirely). it goes without saying but your inter-server database connections should also be strongly secured using IP white listing, strong passwords, no public facing connections, very limited permissions, etc. There's no reason for an external connection (even a trusted one) to be messing with character/account data, that should all be done locally on the same machine. Design your database with that in mind.
pro4never is offline  
Thanks
1 User
Old 06/28/2016, 02:19   #6
 
elite*gold: 0
Join Date: Oct 2010
Posts: 22
Received Thanks: 1
Thank Pro4ever. In fact I already had a good grasp of the operation, which really wanted was the topic addressed on hijack, ty


matheus2984 is offline  
Reply



« lookin4something | [question]Windowless Skill lvler »

Similar Threads
Live user interaction von 2 usern (!?)
05/29/2016 - Web Development - 4 Replies
hey leute, hat jemand eine idee wie das coinflip system auf csgowild funktioniert? würde mich über eine grobe erklärung oder die Programmiersprache mit ich es umsetzen kann sehr freuen. Für einen kompletten code würde ich auch zahlen. Erklärung: Meine lage (bsp.) Ich habe eine website bei der jeder user über z.b. PP geld aufladen kann. Jetzt soll User1 die möglichkeit haben eine "Spiel" zu eröffnen, jeder andere user kann diesem beitreten. Wenn sich 2 spieler gefunden haben wird ein...
Question about servers
12/31/2013 - S4 League - 5 Replies
i cant Enter Any server in s4 its tell me Server Tunnal ? why???
Question about servers
12/26/2013 - S4 League - 1 Replies
when i enter S4 i havn't Find the English or the German Server where does the servers go and when i enter the Spanish or italy i get DC?
Object Interaction
11/30/2005 - WoW Exploits, Hacks, Tools & Macros - 3 Replies
I have known this exploit since WoW came out, but thought I would share it here first. I discover that the interacting symbol (arrow w/ a gear) when you mouse over still stays on some objects after you have already "used" it. Example the Cleaning Room in GR! Since Cleaning those Objects take forever you could possibly be quick enough to do multiple turnins. Now for the big one! Recently the Felwood Plants no longer have casting time to open. I have been able to get loot from them as...



All times are GMT +1. The time now is 01:10.


Powered by vBulletin®
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

BTC: 33E6kMtxYa7dApCFzrS3Jb7U3NrVvo8nsK
ETH: 0xc6ec801B7563A4376751F33b0573308aDa611E05

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2019 elitepvpers All Rights Reserved.