Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > 9Dragons
You last visited: Today at 15:38

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

Advertisement



Does anyone fully understand the authentication process?

Discussion on Does anyone fully understand the authentication process? within the 9Dragons forum part of the MMORPGs category.

Reply
 
Old   #1
 
annoyinglyUgly's Avatar
 
elite*gold: 0
Join Date: Dec 2018
Posts: 240
Received Thanks: 112
Question Does anyone fully understand the authentication process?

Can anyone explain it? In layman's terms, of course. Just briefly. I'd like to understand the basics.

Here's an example: (It's most likely wrong but that's why I made this thread)

1.) What exactly is the purpose of separated server executables? Why can't it be one single command window?

2.) What does NDLogin do exactly? Aside from checking database stuff, executing stored procedures, etc...

When the user tries to log in, all the information is passed onto NDLogin, which processes this information, which is then forwarded to DS_SERVER and lastly to NDServer? I don't get it.

3.) What is DS_SERVER for? (Lol)

4.) How are DS_SERVER and NDServer communicating with each other? I mean what pieces of information are exchanged between the two?

5.) What is the file "AuthAddr" for? Why is it necessary? This file contains a simple URL address that points to a .py file (Python script, created by 'ZeroBurner'). This python script is supposed to somehow return a login success or login fail message to the NDServer, which the NDServer somehow understands... How does this work?

I can understand LOG_SRV dot exe. It's responsible for creating logs. Pretty obvious. You can't start most server executables without running LOG_SRV first because, duh, it wouldn't be able to create logs. I get that.

I can also understand MS dot exe. It's basically the in-game messenger.

I also kind of understand NDServer dot exe. It's mainly responsible for running maps but it gets complicated because it has to communicate with DS_SERVER.


What I know about the login process so far: (it might be wrong, too)

On user login
Check the following:
-- does account name exist / match
-- is password correct / match
At these phases, account credentials are sent to NDLogin and then to DS_SERVER? How does this work exactly?

-- is account restricted / banned
-- does client/server version match
At this phase, this is just a simple SQL stored procedure stuff, right? So it's checked by DS_SERVER only? Or is NDServer involved as well?


-- does company code match
At this phase, NDLogin checks the login packets coming from the client, for the company code (called "LMBC", also known as "Login Mode By Company"). If it matches, this phase passes. I don't understand this, though, because I successfully compiled an NDLogin exe and I altered the LMBC code in such a manner that it matches the client, yet it refused to log me in. I got a "size mismatch" error. This error was only visible on the NDLogin server console window. Does anyone know why this happens?

-- is 1 map running at least
At this phase, it sends a request to NDServer to see if at least one map is running? This phase isn't that important, anyway.

-- has virtual keyboard been used
This phase doesn't matter too much becase I think it's client sided. Please correct me if I'm wrong.

-- does packet length match
At this phase, some packet length is checked? What packet or packets? Is it an NDServer/DS_SERVER/NDLogin thing?

> If success, enter character selection screen

On map enter
> Check the following:
-- is current map running
This phase is obvious and needs no discussion.

-- does packet length match
At this phase, some other packet length is checked... I remember receiving an error called "DS>GS Packet Size <recv / sent> or something. What is this?


Thank you for reading.
annoyinglyUgly is offline  
Thanks
2 Users
Old 06/05/2020, 21:39   #2

 
elite*gold: 90
Join Date: Apr 2009
Posts: 546
Received Thanks: 157
give the guy a hand. Here are a couple of pointers what DS_SERVER Does.


Btw these are the structures linking opertools and ds server/

Also dont forget mapping opertool port, which links direct to the IGN cache held in DS server.
Not forgetting depending on amount of people logged, the 15 minute delay of pooled data held in cache.
The time taken To release all data from IGNS logged off, will depend on the total IGN'S logged on.This is highlighted in the database table in ninedragons_account
table=[dbo].[Tbl_ND_GameConnect]
curr_state=1
temp_id=????

The more temp_id>0 will then increase the 15 minute period we initially allowed for cache to be released.



To be honest i thought you knew all this. I will explain the port 80 question associated with AuthAddr later. You can ofc create a ipsec tunnel, which ofc will create a form of a proxy server barrier, preventing direct access to the Ip address you wish to remain hidden mainstream. (Literally a VPN, on a server host provider) The dedicated host provider ie OVH,will be the entry point in ndreg.xrg

useful article to protect your server against attacks.





The above example was only for webservers port 80 and 443. But this also applies to all other ports

The biggest giveaway and to give anyone a clue what ds server does i guess, is when you kill ds server .exe and the opertool process is still in memory!!!!
madmerlin3009 is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
Mit Process Explorer /Process Hacker Hs umgehen
05/22/2010 - General Gaming Discussion - 1 Replies
Ich habe hier im Forum gelesen, das man mit Process Explorer bzw. Process Hacker das HS umgehen kann. Leider ist mir irgendwie schleierhaft wie das gehen soll. Vllt erbarmt sich jemand und erklärt es (:, da man den sogenannten Bypasser nur noch las Premium Dings Da bei Upload.to runterladen kann :rolleyes:
Does anyone have a fully working quiz show npc?
03/04/2010 - CO2 Private Server - 10 Replies
Title says it all :D
How exactly does Torque clientless work? I still dont understand :(
07/16/2009 - Silkroad Online - 2 Replies
So, the Torque tool is a tool that allows u to switch between client and clientless? Can it be used with SroKing? Can it be used with multiple clients? Is it safe to use after the new Auto Login system? I know it may seem like a noob question but I had to ask cuz i want to use it.
C# how to pause a process/freeze process
12/08/2008 - CO2 Programming - 2 Replies
ya so i was semi bored and after little bit of looking around i didnt find to many examples of how to do this so attached is a demo project to show you how. basically it comes down to calling ResumeThread() and SuspendThread() (API functions) on all the threads of a process...simple enough http://img388.imageshack.us/img388/9762/exampleil 6.png please note when you enter the process name there's no ".exe" to the end Warning: this isn't idiot proof . .
does anyone understand this retard?
09/28/2007 - Dekaron - 1 Replies
from a pm i just got from some douche bag, along with my reply, AHHAHAHA. i'm not sure but i think he may have been trying to tell me about himself having sex with llamas. i cant tell though, i dont speak or understand the language of Jibberdy Jab: what did you say? i dont understand your non-english jibberdy jabber.



All times are GMT +1. The time now is 15:40.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

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