Responsible for user authentication and session creation. Cross-shard capabilities.
Communication Protocols
In the sections below, the table column "Structure" is denoted in a similar format used by the server source. Minus the opcode, which is type c anyways.
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. Used for internal administration.
Incoming Packets
Opcode
|
Description
|
Structure
|
IA_SERVER_VERSION
|
GetConnectSessionKey
|
d
|
IA_IP_KIND
|
-
|
-
|
IA_IP_USE
|
GetIPAcquireSuccess
|
dcdd
|
IA_IP_START_OK
|
StartIPCharge
|
dcddd
|
IA_IP_START_FAIL
|
StartIPChargeFail
|
dcddds
|
IA_IP_USE_FAIL
|
GetIPAcquireFail
|
dc
|
IA_IP_SESSIONKEY
|
-
|
-
|
IA_IP_INSTANTLOGIN_OK
|
-
|
-
|
IA_IP_INSTANTLOGIN_FAIL
|
-
|
-
|
IA_IP_KICK
|
GetIPKick
|
dddsd
|
IA_IP_READY_FAIL
|
ReadyIPFail
|
dc
|
IA_IP_READY_OK
|
ReadyIPOK
|
dcddd
|
IA_IP_SET_STARTTIME_OK
|
-
|
-
|
IA_IP_SET_STARTTIME_FAIL
|
SetStartTimeFail
|
d
|
Outgoing Packets
Opcode
|
Description
|
Structure
|
AI_SERVER_VERSION
|
|
sc
|
AI_IP_KIND
|
-
|
-
|
AI_IP_ACQUIRE
|
|
sddd
|
AI_IP_RELEASE
|
|
ddddd
|
AI_IP_START_CHARGE
|
|
dddcdd
|
AI_IP_STOP_CHARGE
|
|
ddddcddsd
|
AI_IP_INSTANT_START_GAME
|
-
|
-
|
AI_IP_INSTANT_STOP_GAME
|
-
|
-
|
AI_IP_KICKED
|
-
|
-
|
AI_IP_READY_GAME
|
|
dddcdd
|
AI_IP_SET_START_TIME
|
|
dddcdd
|