Dual stack operation
If the computer hosting your KAG server(s) has IPv4 and IPv6, here is some important information about how this is handled by the game.
Right now the game code does not support IPv6, however there is groundwork in place for it to be supported in the future within the server list API and other areas.
If you run each server on a separate port and do not set sv_ip manually You do not need to do anything special, the server(s) will discover its IPv4 and IPv6 address automatically.
If you run any servers on the same port but bind to different sv_ip For each server which is bound to a unique IPv4 address, you must add a unique IPv6 address and set sv_ipv6 accordingly in the server configuration. This is to allow each server to register with the API over IPv6 while at the same time preventing the updates for each server from getting confused. If the server detects that sv_ip is set and IPv6 is available but no sv_ipv6 is set, it will disable IPv6 when it starts. If you want to bind to separate IPv4 addresses and not deal with IPv6, I recommend you disable IPv6 in the config by setting sv_enableipv6=0 (1 by default)
-- This is subject to change in the future, but an attempt is being made to make decisions in the server design and implementation of IPv6 which prevent a change in config behavior from being necessary later on.
Here is some additional information about how KAG implements IPv6 support now (mostly just for autoupdate and API usage), and how it will be supported in the future: - sv_preferAF allows you to configure whether you prefer game clients connect over IPv4 or IPv6 assuming the server and player have both available - Servers will try to make API calls over IPv6 whenever possible - Native IPv6 connectivity, when available, tends to be quite decent nowadays. The quality of IPv6 connectivity will continue to increase and IPv4 decrease over time, as IPv6 becomes ubiquitous and IPv4 is subject to CGN/LSN (ISP-maintained NAT deployments) and potentially routing instability due to further routing table fragmentation.
With any questions about information that is here or you believe is missing from this article, please contact FliesLikeABrick on the forums or IRC