Overview
JoinServer authenticates accounts and brokers transfers between GameServers
JoinServer validates account credentials against SQL Server and coordinates player movement between GameServers. ConnectServer points clients at a GameServer; that GameServer asks JoinServer whether the account may log in.
Role
Authenticates account and password against the
MEMB_INFOtableTracks which account is online and on which GameServer
Issues transfer auth codes used when a player warps to a different GameServer
Sends a periodic UDP heartbeat to ConnectServer so CS knows JS is alive
Rejects GameServer connections whose remote IP is not whitelisted
File Location
JoinServer/
├── JoinServer.exe
├── JoinServer.ini
└── AllowableIpList.txtAll configuration lives in the JoinServer root. There is no Data/ subfolder.
Configuration Files
Database, ports, authentication mode, license, Server Manager control channel (ControlPort 55992, ControlKey, ControlBind, ControlInstance)
GameServer IP whitelist
Startup Order
Dependencies
SQL Server reachable via the configured ODBC DSN, with the
MEMB_INFOschema andWZ_*stored procedures installedConnectServer reachable at
ConnectServerAddress:ConnectServerPortby UDP - see ConnectServerGameServer IPs listed in
AllowableIpList.txt
Common Issues
"Could not connect to database" - verify the ODBC DSN exists on the machine running JoinServer and the credentials are valid
GameServer connects then drops immediately - its remote IP is not in
AllowableIpList.txtConnectServer shows JoinServer offline -
ConnectServerAddressorConnectServerPortis wrong, or a firewall blocks the outbound UDP datagram from JoinServer to ConnectServerLogin works but map warp fails - the transfer auth code was not consumed within 30 seconds; the account is cleared by the once-per-second disconnect sweep and the player is kicked
Related
JoinServer.ini - all runtime settings
AllowableIpList.txt - GameServer IP whitelist
ConnectServer - receives the heartbeat
DataServer - separate persistence path; does not talk to JoinServer
Last updated