AllowableIpList.txt

JoinServer rejects every incoming GameServer connection whose remote IP is not in this file. The check runs at socket accept time via a condition callback, before any bytes are read and before authentication.

File Location#

JoinServer/AllowableIpList.txt

Loaded once at startup, after the TCP listen socket is up and the UDP heartbeat target has been resolved. Changes require a JoinServer restart.

Format#

0
"127.0.0.1"
"10.0.0.5"
"10.0.0.6"
end
  • First line: section number 0
  • Middle lines: one IPv4 address per line, double-quoted
  • Last line: the literal token end

Rules:

  • IPv4 only
  • Exact string match against the dotted-quad form of the connecting socket's remote address; no CIDR, no wildcards, no hostnames
  • Whitespace and blank lines between entries are ignored
  • // starts a line comment and is skipped to end of line
  • The file is parsed as a script, not line-by-line; keep the 0 and end markers
  • Only section 0 is scanned for addresses; any other section number is silently skipped

Important Behavior#

  • A missing, empty, or malformed file results in an empty whitelist, which blocks every GameServer
  • Addresses are compared to the remote IP as seen by the OS. Behind NAT, list the public IP that reaches JoinServer, not the private one the GameServer binds to
  • 127.0.0.1 allows only loopback connections from the same host; it does not cover any LAN IP
  • Duplicate entries are silently collapsed into a single whitelist slot
  • No wildcard support; every GameServer needs its own line
  • The parser enforces a one-second wall-clock limit on the whole file; oversized or malformed files will abort loading with an error box and leave the whitelist empty

Examples#

AllowableIpList.txt
0
"127.0.0.1"
end

Common Issues#

  • GameServer connects and instantly drops - the IP JoinServer sees is not the one in the file. Check what the OS reports on the JoinServer host, not what the GameServer thinks its IP is
  • All GameServers rejected after restart - file saved without the end line, or the 0 header is missing
  • Works on one host, fails on another - NAT or a proxy changed the source IP; add the translated address

Last updated April 20, 2026