AuthServer: Difference between revisions

From OuroDev
Line 140: Line 140:
|dcs
|dcs
|-
|-
|SQ_SERVER_NUM
|<s>SQ_SERVER_NUM</s>
|
| -
| -
| -
|-
|-
Line 148: Line 148:
|sd(d)
|sd(d)
|-
|-
|SQ_PING
|<s>SQ_PING</s>
|
| -
| -
| -
|-
|-

Revision as of 23:28, 2 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
q QWord / Long
b Byte Array
s NUL-terminated C String
[] Array
() Conditional, based on config

Game Server

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

Incoming Packets

Opcode Description Structure
AS_PLAY_OK dd
AS_PLAY_FAIL cd
AS_PLAY_GAME d
AS_QUIT_GAME dwd
AS_KICK_ACCOUNT dw
AS_SERVER_USERNUM - -
AS_BAN_USER dw
AS_VERSION d
AS_PING d
AS_WRITE_USERDATA db
AS_SET_CONNECT d
AS_PLAY_USER_LIST dsddddd
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 db
AS_READ_GAMEDATA d
AS_SHARD_TRANSFER dd

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 Asia auth only -

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.