Skip to content

fix(rsdwserver): clear merge blockers on upstream PR #4921 - #1

Draft
JSaterdalen wants to merge 3 commits into
feat/rsdwserverfrom
claude/linuxgsm-pr-4921-blockers-5e1v8x
Draft

JSaterdalen wants to merge 3 commits into
feat/rsdwserverfrom
claude/linuxgsm-pr-4921-blockers-5e1v8x

Conversation

@JSaterdalen

Copy link
Copy Markdown
Owner

Description

Stacked on feat/rsdwserver to clear blockers identified on upstream PR GameServerManagers#4921. Merge this into feat/rsdwserver and it flows into GameServerManagers#4921.

Type of change

  • Bug fix (a change which fixes an issue).
  • New feature (a change which adds functionality).
  • New Server (new server added).
  • Refactor (restructures existing code).
  • Comment update (typo, spelling, explanation, examples, etc).

1. rsdw missing from all 23 distro dependency CSVs

.github/scripts/serverlist-validate.sh requires each ubuntu*/debian*/centos*/rhel*/almalinux*/rocky*.csv to have the same row count as serverlist.csv. The branch had serverlist.csv at 141 and every distro CSV at 140, so the check fails on all 23 files.

This does not show red on GameServerManagers#4921 — every workflow is gated on if: github.repository_owner == 'GameServerManagers' and triggers on push, not pull_request, so none of them run on a fork PR. It would have broken develop after merge.

Added a bare rsdw row between ro and rtcw in each file, matching the other UE5 servers (pw, sf, ti), which need no packages beyond the common and steamcmd sets.

2. Port edit location pointed at the wrong file

rsdw was in the ports_edit_array for games whose port lives in the game config, so details told users to change the port in DedicatedServer.ini. The config sets startparameters="-Port=${port} -log", so the port comes from the LinuxGSM config. Moved rsdw to the start parameters array, resolving to ${configdirserver}.

This is the finding Copilot raised on GameServerManagers#4921.

3. DedicatedServer.ini was never installed

_default.cfg sets servercfgdefault="DedicatedServer.ini", but rsdw had no branch in install_config.sh, so fn_default_config_remote and fn_list_config_locations never ran. Nothing created the ini and the Config Locations section never printed — which is why RyanKC4 hit "must set OwnerId in DedicatedServer.ini before the server fully starts" on GameServerManagers#4921.

Added the dispatch branch.

Ordering dependency — read before merging GameServerManagers#4921

Change 3 requires rsdw/DedicatedServer.ini to exist in GameServerManagers/Game-Server-Configs first. fn_fetch_file calls core_exit.sh on a 404 (lgsm/modules/core_dl.sh:406), so merging ahead of the config would hard-fail rsdwserver install.

The config should be the server-generated DedicatedServer.ini with two placeholders that fn_set_config_vars substitutes on install:

  • ServerName=SERVERNAME
  • AdminPassword=ADMINPASSWORD

fn_info_game_ini matches keys at line start and ignores sections, so the section header just needs to be whatever the game actually writes.

Still outstanding on GameServerManagers#4921 (not addressed here)

  • lgsm/data/gameicons/rsdw-icon.png is missing. serverlist-validate-game-icons.sh errors per-server and on the count (140 icons vs 141 servers). Needs the real 32×32 Steam app icon for appid 4019830 — the sandbox proxy blocks Steam's CDN, and a placeholder seemed worse than leaving it visible.
  • LinuxGSM-Docs page for rsdwserver.
  • Linked issue. The PR body references feat(rdserver): adding Runescape: Dragonwilds game server GameServerManagers/LinuxGSM#4893, which is a PR; the template checklist asks for an issue.

Testing

  • Commands/tests run:
    • datadir=lgsm/data bash .github/scripts/serverlist-validate.sh — passes, exit 0, all 23 CSVs at 141.
    • bash -n on info_messages.sh and install_config.sh — clean.
    • Sourced fn_info_messages_ports_edit with shortname=rsdw — resolves to ${configdirserver} instead of the ini path.
  • Result: all pass. The game icon check still fails, by design, until the icon is added.
  • Environment used: Debian-based container, bash 5.

Risk and rollback

  • Risk level: low. Two of the three changes touch rsdw only. The install_config.sh change is inert for every other shortname.
  • Rollback plan: revert the three commits.

Breaking changes

  • No breaking changes.
  • Breaking changes included (describe below).

Documentation impact

  • No documentation update required.
  • User documentation update required.
  • Developer documentation update required.

A rsdwserver page is still needed at https://github.com/GameServerManagers/LinuxGSM-Docs.

🤖 Generated with Claude Code

https://claude.ai/code/session_01QY8uwjiK9JR8ZUdw6XtgXx


Generated by Claude Code

serverlist-validate.sh requires every distro dependency CSV to carry one
row per entry in serverlist.csv. Adding rsdw to serverlist.csv without
the matching rows left all 23 CSVs at 140 rows against 141 servers,
which fails the check once it runs on develop.

RuneScape: Dragonwilds is a UE5 server needing no packages beyond the
common and steamcmd sets, so each row is a bare shortname, matching the
other UE5 servers (pw, sf, ti).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QY8uwjiK9JR8ZUdw6XtgXx
rsdw was listed in the ports_edit_array for games whose port is set in
the game config file, so details reported DedicatedServer.ini as the
place to change the port. The port is passed on the command line via
startparameters="-Port=${port} -log", so it is set in the LinuxGSM
config instead.

Move rsdw to the start parameters array so the location resolves to
${configdirserver}.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QY8uwjiK9JR8ZUdw6XtgXx
rsdw had no branch in install_config.sh, so despite _default.cfg setting
servercfgdefault="DedicatedServer.ini" nothing ever fetched or copied it
and the Config Locations section was never printed. Users had to create
the file by hand before the server would finish starting, since OwnerId
must be set for initialisation to complete.

Requires GameServerManagers/Game-Server-Configs to carry
rsdw/DedicatedServer.ini first: fn_fetch_file calls core_exit.sh on a
404, so merging this ahead of the config would break rsdwserver install.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QY8uwjiK9JR8ZUdw6XtgXx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants