AuthServer: Difference between revisions

From OuroDev
Line 141: Line 141:
!Opcode
!Opcode
!Description
!Description
!Structure
|-
|-
|AQ_LOGIN
|AQ_LOGIN
|
|
|dbdw(c)
|-
|-
|AQ_SERVER_LIST
|AQ_SERVER_LIST
|
|
|ddc(c[d])
|-
|-
|AQ_ABOUT_TO_PLAY
|AQ_ABOUT_TO_PLAY
|
|
|ddc
|-
|-
|AQ_LOGOUT
|AQ_LOGOUT
|
|
|dd
|-
|-
|AQ_LOGIN_MD5
|AQ_LOGIN_MD5
|
|
|dbdw(c)
|-
|-
|AQ_SERVER_LIST_EXT
|AQ_SERVER_LIST_EXT
|
|
|ddc(c[d])
|-
|AQ_LOGIN_MD5_MD5
|Unused; Asia only
|dbdw(c)
|}
|}



Revision as of 00:18, 3 September 2020

Responsible for user authentication and session creation. Cross-shard capabilities.

Communication Protocols

In the sections below, the table column "Structure" is denoted in the same format used in the server source. Minus the opcode, which is type "c."

Type Description
c Char
w Word / Short
d DWord / Int
b Byte Array
s NUL-terminated C String

Game Server

TCP Port 2104. AuthServer and DBServer communicate through this port.

Incoming Packets

Opcode Description
AS_PLAY_OK
AS_PLAY_FAIL
AS_PLAY_GAME
AS_QUIT_GAME
AS_KICK_ACCOUNT
AS_SERVER_USERNUM
AS_BAN_USER
AS_VERSION
AS_PING
AS_WRITE_USERDATA
AS_SET_CONNECT
AS_PLAY_USER_LIST
AS_SET_SERVER_ID
AS_SERVER_USER_NUM_BY_QUEUE_LEVEL
AS_FINISHED_QUEUE
AS_SET_LOGIN_FREQUENCY
AS_QUEUE_SIZES
AS_READ_USERDATA
AS_WRITE_GAMEDATA
AS_READ_GAMEDATA
AS_SHARD_TRANSFER

Outgoing Packets

Opcode Description Structure
SQ_ABOUT_TO_PLAY dsdddd
SQ_KICK_ACCOUNT dcs
SQ_SERVER_NUM -
SQ_VERSION sd(d)
SQ_PING -
SQ_COMPLETE_USERLIST d
SQ_USER_DATA db
SQ_GAME_DATA db

Game Client

TCP Port 2106. AuthServer and Game communicate through this port.

Incoming Packets

Opcode Description Structure
AQ_LOGIN dbdw(c)
AQ_SERVER_LIST ddc(c[d])
AQ_ABOUT_TO_PLAY ddc
AQ_LOGOUT dd
AQ_LOGIN_MD5 dbdw(c)
AQ_SERVER_LIST_EXT ddc(c[d])
AQ_LOGIN_MD5_MD5 Unused; Asia only dbdw(c)

Outgoing Packets

Opcode Description Structure
AC_PROTOCOL_VER Exchange common protocol version with client dddbdb
AC_LOGIN_FAIL Reject client authentication c
AC_BLOCKED_ACCOUNT Account banned for X until Y dd
AC_LOGIN_OK Allow client authentication dddddddddddd(dd)
AC_SEND_SERVERLIST Send list of shards c[cddccwwcc(cs)]
AC_SEND_SERVER_FAIL Something unexpected happened c
AC_PLAY_FAIL Server selected, but down possibly? c
AC_PLAY_OK Server selected, continue ddc
AC_ACCOUNT_KICKED Account kicked for X c
AC_BLOCKED_ACCOUNT_WITH_MSG Account permabanned for X s
AC_SC_CHECK_REQ - -
AC_QUEUE_SIZE Queue length and wait time c[ccdd]
AC_HANDOFF_TO_QUEUE Wait in server queue ddc
AC_POSITION_IN_QUEUE - -

GM Tools

TCP Port 2108. Unknown.