AllowableIpList.txt

DataServer rejects every incoming GameServer connection whose public IP is not in this file. The check runs inside the accept-condition callback, so a rejected connection is never handed to the socket manager and never reads a byte of data.

This list gates the DataServer listen port configured in DataServer.ini; see README.md for the overall startup order and the companion BadSyntax.txt for name filtering.

File Location#

DataServer/AllowableIpList.txt

Loaded once at startup, right after the TCP port opens. Changes require a DataServer restart.

Format#

0
"127.0.0.1"
"10.0.0.5"
"10.0.0.6"
end
  • First line: section number 0. This is a numeric section selector the parser reads before the inner loop; without it the IP loop is not entered and the list stays empty
  • Middle lines: one IPv4 address per line, double-quoted. Each address is capped at 31 characters (buffer is 32 bytes including the null terminator); longer strings are truncated
  • Last line: the literal token end

Rules:

  • IPv4 only. The comparison is a plain string match against the connecting client's address in dotted-decimal form, so only dotted-decimal IPv4 will ever match
  • Exact string match; no CIDR, no wildcards, no hostnames
  • Whitespace and blank lines between entries are ignored
  • // begins a line comment and is skipped to end-of-line
  • The file is read as a whole buffer and tokenized, not parsed line-by-line; the 0 and end markers are required

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 DataServer, not the private one the GameServer binds to
  • 127.0.0.1 allows only loopback connections from the same host; it does not cover ::1 or any LAN IP
  • IPv6 clients cannot match any entry; DataServer only listens on IPv4
  • Duplicate entries collapse silently because the list is stored as a map keyed on the IP string

Examples#

AllowableIpList.txt
0
"127.0.0.1"
end

Common Issues#

  • GameServer connects and instantly drops - the IP DataServer sees is not the one in the file
  • 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 August 20, 2026