feat(dragonwilds): MATCH_PUBLIC so the join code works behind a relay
The server advertises the address its outgoing traffic comes from, so it
binds its public ports (-Port / -BeaconPort from {PUBLIC_PORT_n}) and, behind
Public Bypass, sends its traffic out through the relay. Adds portMode to the
schema and to import's field order.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MZxvxViV6QwAtVWT3saGvs
This commit is contained in:
1 parent
cb79e172b9
commit
1a28f6c52e
3 files changed
+7
-2
No files matched your search
@@ -23,7 +23,7 @@ var gameFields = []string{
|
|||||||
"defaultConfig", "configSchema", "configFilePath", "configFileFormat", "configFormatOptions",
|
"defaultConfig", "configSchema", "configFilePath", "configFileFormat", "configFormatOptions",
|
||||||
"agnosticCommandConfig", "clusterConfig",
|
"agnosticCommandConfig", "clusterConfig",
|
||||||
"logFilePath", "readyPattern", "failPatterns", "backupPaths", "maxBackupSizeMb",
|
"logFilePath", "readyPattern", "failPatterns", "backupPaths", "maxBackupSizeMb",
|
||||||
"publicIpConfigKey", "maxPlayersConfigKey", "mapConfigKey",
|
"publicIpConfigKey", "portMode", "maxPlayersConfigKey", "mapConfigKey",
|
||||||
"aiCoverPrompt",
|
"aiCoverPrompt",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
id: runescape-dragonwilds-native-linux
|
id: runescape-dragonwilds-native-linux
|
||||||
name: 'RuneScape: Dragonwilds (Native Linux Server)'
|
name: 'RuneScape: Dragonwilds (Native Linux Server)'
|
||||||
defaultDockerImage: cm2network/steamcmd:root
|
defaultDockerImage: cm2network/steamcmd:root
|
||||||
defaultStartupCommand: ./RSDragonwildsServer.sh -log -Port=7777
|
defaultStartupCommand: ./RSDragonwildsServer.sh -log -Port={PUBLIC_PORT_7777} -BeaconPort={PUBLIC_PORT_8888}
|
||||||
requiredMemoryMb: 10240
|
requiredMemoryMb: 10240
|
||||||
requiredDiskMb: 20480
|
requiredDiskMb: 20480
|
||||||
defaultPorts:
|
defaultPorts:
|
||||||
@@ -113,5 +113,6 @@ backupPaths:
|
|||||||
- RSDragonwilds/Saved
|
- RSDragonwilds/Saved
|
||||||
maxBackupSizeMb: 5000
|
maxBackupSizeMb: 5000
|
||||||
publicIpConfigKey: MULTIHOME
|
publicIpConfigKey: MULTIHOME
|
||||||
|
portMode: MATCH_PUBLIC
|
||||||
maxPlayersConfigKey: MaxPlayers
|
maxPlayersConfigKey: MaxPlayers
|
||||||
aiCoverPrompt: 'A cinematic wide shot of Ashenfall in the fantasy world of Gielinor from RuneScape: Dragonwilds. Ancient stone spires and forgotten fortresses rise amidst untamed wilderness. Colossal ancient dragons circle through stormy twilight skies illuminated by magical embers, while adventurers gather around a runic encampment wielding enchanted sorcery and survival gear.'
|
aiCoverPrompt: 'A cinematic wide shot of Ashenfall in the fantasy world of Gielinor from RuneScape: Dragonwilds. Ancient stone spires and forgotten fortresses rise amidst untamed wilderness. Colossal ancient dragons circle through stormy twilight skies illuminated by magical embers, while adventurers gather around a runic encampment wielding enchanted sorcery and survival gear.'
|
||||||
@@ -69,6 +69,10 @@
|
|||||||
"maxBackupSizeMb": { "type": ["integer", "null"], "minimum": 1 },
|
"maxBackupSizeMb": { "type": ["integer", "null"], "minimum": 1 },
|
||||||
|
|
||||||
"publicIpConfigKey": { "description": "Config key that receives the server's public address.", "type": ["string", "null"] },
|
"publicIpConfigKey": { "description": "Config key that receives the server's public address.", "type": ["string", "null"] },
|
||||||
|
"portMode": {
|
||||||
|
"description": "MATCH_PUBLIC: for games that advertise the address their own traffic comes from. The container binds the port players use (the relay port behind Public Bypass) and, behind a relay, all its outgoing traffic leaves through the relay. Tell the game its port with {PUBLIC_PORT_<defaultPort>} in defaultStartupCommand.",
|
||||||
|
"enum": ["DEFAULT", "MATCH_PUBLIC", null]
|
||||||
|
},
|
||||||
"maxPlayersConfigKey": { "description": "Config key locked to the pricing tier's player count.", "type": ["string", "null"] },
|
"maxPlayersConfigKey": { "description": "Config key locked to the pricing tier's player count.", "type": ["string", "null"] },
|
||||||
"mapConfigKey": { "type": ["string", "null"] },
|
"mapConfigKey": { "type": ["string", "null"] },
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user