AuthServer: Difference between revisions

From OuroDev
No edit summary
Line 61: Line 61:
|dw
|dw
|-
|-
|<s>AS_SERVER_USERNUM</s>
|AS_SERVER_USERNUM
| -
| -
| -
| -
Line 89: Line 89:
|dsddddd
|dsddddd
|-
|-
|<s>AS_SET_SERVER_ID</s>
|AS_SET_SERVER_ID
| -
| -
| -
| -
|-
|-
|<s>AS_SERVER_USER_NUM_BY_QUEUE_LEVEL</s>
|AS_SERVER_USER_NUM_BY_QUEUE_LEVEL
| -
| -
| -
| -
|-
|-
|<s>AS_FINISHED_QUEUE</s>
|AS_FINISHED_QUEUE
| -
| -
| -
| -
Line 109: Line 109:
| -
| -
|-
|-
|<s>AS_READ_USERDATA</s>
|AS_READ_USERDATA
| -
| -
| -
| -
Line 140: Line 140:
|dcs
|dcs
|-
|-
|<s>SQ_SERVER_NUM</s>
|SQ_SERVER_NUM
| -
| -
| -
| -
Line 148: Line 148:
|sd(d)
|sd(d)
|-
|-
|<s>SQ_PING</s>
|SQ_PING
| -
| -
| -
| -
Line 198: Line 198:
|ddc(c[d])
|ddc(c[d])
|-
|-
|<s>AQ_LOGIN_MD5_MD5</s>
|AQ_LOGIN_MD5_MD5
|Asia auth only
|Asia auth only
| -
| -
Line 249: Line 249:
|s
|s
|-
|-
|<s>AC_SC_CHECK_REQ</s>
|AC_SC_CHECK_REQ
| -
| -
| -
| -
Line 261: Line 261:
|ddc
|ddc
|-
|-
|<s>AC_POSITION_IN_QUEUE</s>
|AC_POSITION_IN_QUEUE
| -
| -
| -
| -
Line 269: Line 269:
TCP Port 2108. Used for internal administration.
TCP Port 2108. Used for internal administration.


==== Incoming Packets ====
====Incoming Packets====
{| class="wikitable"
{| class="wikitable"
!Opcode
!Opcode
Line 276: Line 276:
|-
|-
|IA_SERVER_VERSION
|IA_SERVER_VERSION
|
|GetConnectSessionKey
|
|d
|-
|-
|IA_IP_KIND
|IA_IP_KIND
|
| -
|
| -
|-
|-
|IA_IP_USE
|IA_IP_USE
|
|GetIPAcquireSuccess
|
|dcdd
|-
|-
|IA_IP_START_OK
|IA_IP_START_OK
|
|StartIPCharge
|
|dcddd
|-
|-
|IA_IP_START_FAIL
|IA_IP_START_FAIL
|
|StartIPChargeFail
|
|dcddds
|-
|-
|IA_IP_USE_FAIL
|IA_IP_USE_FAIL
|
|GetIPAcquireFail
|
|dc
|-
|-
|IA_IP_SESSIONKEY
|IA_IP_SESSIONKEY
|
| -
|
| -
|-
|-
|IA_IP_INSTANTLOGIN_OK
|IA_IP_INSTANTLOGIN_OK
|
| -
|
| -
|-
|-
|IA_IP_INSTANTLOGIN_FAIL
|IA_IP_INSTANTLOGIN_FAIL
|
| -
|
| -
|-
|-
|IA_IP_KICK
|IA_IP_KICK
|
|GetIPKick
|
|dddsd
|-
|-
|IA_IP_READY_FAIL
|IA_IP_READY_FAIL
|
|ReadyIPFail
|
|dc
|-
|-
|IA_IP_READY_OK
|IA_IP_READY_OK
|
|ReadyIPOK
|
|dcddd
|-
|-
|IA_IP_SET_STARTTIME_OK
|IA_IP_SET_STARTTIME_OK
|
| -
|
| -
|-
|-
|IA_IP_SET_STARTTIME_FAIL
|IA_IP_SET_STARTTIME_FAIL
|
|SetStartTimeFail
|
|d
|}
|}


==== Outgoing Packets ====
====Outgoing Packets====
{| class="wikitable"
{| class="wikitable"
!Opcode
!Opcode
Line 340: Line 340:
|AI_SERVER_VERSION
|AI_SERVER_VERSION
|
|
|
|sc
|-
|-
|AI_IP_KIND
|AI_IP_KIND
|
| -
|
| -
|-
|-
|AI_IP_ACQUIRE
|AI_IP_ACQUIRE
|
|
|
|sddd
|-
|-
|AI_IP_RELEASE
|AI_IP_RELEASE
|
|
|
|ddddd
|-
|-
|AI_IP_START_CHARGE
|AI_IP_START_CHARGE
|
|
|
|dddcdd
|-
|-
|AI_IP_STOP_CHARGE
|AI_IP_STOP_CHARGE
|
|
|
|ddddcddsd
|-
|-
|AI_IP_INSTANT_START_GAME
|AI_IP_INSTANT_START_GAME
|
| -
|
| -
|-
|-
|AI_IP_INSTANT_STOP_GAME
|AI_IP_INSTANT_STOP_GAME
|
| -
|
| -
|-
|-
|AI_IP_KICKED
|AI_IP_KICKED
|
| -
|
| -
|-
|-
|AI_IP_READY_GAME
|AI_IP_READY_GAME
|
|
|
|dddcdd
|-
|-
|AI_IP_SET_START_TIME
|AI_IP_SET_START_TIME
|
|
|
|dddcdd
|}
|}

Revision as of 00:45, 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 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