GameServerManagers / LinuxGSM

The command-line tool for quick, simple deployment and management of Linux dedicated game servers.
https://linuxgsm.com
MIT License
4.27k stars 815 forks source link

[Bug]: Ark: Survival Evolved should use separate IP for Multihome and EPIC #4238

Closed WildPenquin closed 1 year ago

WildPenquin commented 1 year ago

User story

The default configuration file should not use same IP for both MultiHome and PublicIPForEpic

Game

Ark: Survival Evolved

Linux distro

Other

Command

command: start

Further information

NOTE! Multihome is really badly documented - please correct me if I've guessed any misinformation here!

It seems that Multihome is used for many instances running on the same computer with many IP addresses (or interfaces). This is typically (always?) a local IP i.e. LAN address. This may sometimes be a public IP address, in case the computer is running directly on a public IP address with no NAT.

The PublicIPForEpic is always a public IP address (and is used for crossplay compatibility only?).

If both options are given, these options should be set separately and to different values. They should never match each other, or may only do so in the case if the server is not behind a NAT, but then setting PublicIPForEpic is superfluous (see Wiki documentation). If Multihome is set to a public IP address, when the server is behind a NAT, the server will fail (it will run but not listen to any connections).

In a nutshell:

I suggest changing the default configuration file as such:

ip="aaa.bbb.ccc.ddd" # a public IP address - 0.0.0.0 will not work, EPIC clients can not connect!
localip="0.0.0.0" # the listen address, your local IP if behind a NAT - 0.0.0.0 will work for most users
startparameters="${defaultmap}?AltSaveDirectoryName=${altsavedirectoryname}?listen?MultiHome=${localip}?MaxPlayers=${maxplayers}?QueryPort=${queryport}?RCONPort=${rconport}?Port=${port} -automanagedmods -cro    ssplay -PublicIPForEpic=${ip}"

1) https://ark.fandom.com/wiki/Server_configuration

Relevant log output

No response

Steps to reproduce

Set a public IP address, using the default configuration as a base. ip="aaa.bbb.ccc.ddd"

The server will run but not listen to any connections.

dgibbs64 commented 1 year ago

PR has been created and the ip address docs have been updated

github-actions[bot] commented 3 weeks ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.