feat(rsdwserver): add RuneScape: Dragonwilds server - #4921
Open
JSaterdalen wants to merge 4 commits into
Open
Conversation
13 tasks
Test Results for RSDW GSM ServerEnvironment
Connection Method
Tests
|
|
Seeing as you were not able to test Ubuntu 24.04, I went ahead and did a basic test for you. 😃 |
Contributor
There was a problem hiding this comment.
Pull request overview
Adds LinuxGSM dedicated server support for RuneScape: Dragonwilds (rsdwserver), including default configuration, server listing, and enhanced details output by parsing DedicatedServer.ini.
Changes:
- Added new
rsdwserverdefault config (appid, directories, Unreal5 settings, start parameters). - Added
rsdwtoserverlist.csvand implementedinfo_game/info_messageshandlers to parse/display INI-backed settings. - Added a 2 GB minimum RAM requirement for
rsdw.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| lgsm/modules/info_messages.sh | Adds rsdw port/config display support and a new rsdw details block. |
| lgsm/modules/info_game.sh | Adds INI parsing for DedicatedServer.ini (server/world settings) for rsdw. |
| lgsm/modules/check_system_requirements.sh | Adds rsdw minimum RAM requirement. |
| lgsm/data/serverlist.csv | Registers rsdwserver in the server list. |
| lgsm/config-default/config-lgsm/rsdwserver/_default.cfg | Introduces default configuration for the new server. |
Suppressed comments (1)
lgsm/modules/info_messages.sh:734
fn_info_messages_ports_editis intended to show users where to change the port. For rsdw, the port is configured via LinuxGSM’sportvariable and passed as-Port=${port}(seersdwserver/_default.cfg), not viaDedicatedServer.ini. Addingrsdwto the “edit in config file” list makes the Ports section point atDedicatedServer.ini, which is misleading for port changes. Moversdwto the list that points at${configdirserver}instead.
startparameterslocation="${red}UNKNOWN${default}"
# engines/games that require editing in the config file.
local ports_edit_array=("ac" "arma3" "armar" "bo" "bt" "ct" "dst" "eco" "idtech2" "idtech3" "idtech3_ql" "jc2" "jc3" "lwjgl2" "mcb" "nec" "pc" "pc2" "prism3d" "pz" "qw" "refractor" "renderware" "rsdw" "rw" "sb" "sdtd" "st" "stn" "ts3" "tw" "terraria" "unreal" "unreal2" "unreal3" "vints" "xnt" "wurm")
for port_edit in "${ports_edit_array[@]}"; do
if [ "${shortname}" == "ut3" ]; then
startparameterslocation="${servercfgdir}/UTWeb.ini"
elif [ "${shortname}" == "kf2" ]; then
startparameterslocation="${servercfgdir}/LinuxServer-KFEngine.ini\n${servercfgdir}/KFWeb.ini"
elif [ "${engine}" == "${port_edit}" ] || [ "${gamename}" == "${port_edit}" ] || [ "${shortname}" == "${port_edit}" ]; then
startparameterslocation="${servercfgfullpath}"
fi
done
# engines/games that require editing the start parameters.
local ports_edit_array=("av" "ck" "col" "cs2" "fctr" "goldsrc" "hcu" "hw" "iw3.0" "ioquake3" "pw" "qfusion" "rust" "scpsl" "scpslsm" "sf" "sol" "spark" "source" "unreal4" "arma3" "dayz" "unt" "vh")
for port_edit in "${ports_edit_array[@]}"; do
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+1807
to
+1817
| fn_info_game_rsdw() { | ||
| if [ -f "${servercfgfullpath}" ]; then | ||
| fn_info_game_ini "adminpassword" "AdminPassword" | ||
| fn_info_game_ini "ownerid" "OwnerId" | ||
| fn_info_game_ini "servername" "ServerName" | ||
| fn_info_game_ini "serverpassword" "WorldPassword" | ||
| fn_info_game_ini "worldname" "DefaultWorldName" | ||
| fi | ||
| adminpassword="${adminpassword:-"NOT SET"}" | ||
| ownerid="${ownerid:-"NOT SET"}" | ||
| port="${port:-"0"}" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds dedicated server support for RuneScape: Dragonwilds (Steam appid
4019830, native Linux 64-bit binary).This PR supersedes #4893. @yourfate invited completion in their comment ("If anyone wants to complete this, feel free, I probably won't have time to work on this for a few months."); this branch picks up that work, finishes the open items, and has been tested on my own server.
differences from #4893:
rsdw. Happy to revert if maintainers preferrd.fn_info_game_rsdwparsing the in-gameDedicatedServer.iniforServerName,OwnerId,WorldPassword,AdminPassword,DefaultWorldName(verified against the actual[/Script/Dominion.DedicatedServerSettings]section produced by the running server).fn_info_messages_rsdwwith the port table plus a "Game Settings" details block surfacing world name and owner ID.rsdwtoinfo_messages.sh'sports_edit_arraysodetailsshows the real INI path instead ofUNKNOWN.check_system_requirements.sh(per official docs: 2 GB base + 1 GB per player).Saved/Config/LinuxServer/(the wiki saysLinux/, but the server actually usedLinuxServer/).Follow-up (separate PR): a
Game-Server-Configstemplate (rsdw/DedicatedServer.iniwithSERVERNAME/ADMINPASSWORDplaceholders) plus aninstall_config.shblock to seed the INI on first install.Fixes #4891.
Type of change
Testing
./linuxgsm.sh rsdwserver./rsdwserver auto-install./rsdwserver start./rsdwserver details./rsdwserver stop./rsdwserver postdetailsshellcheck --severity=warningoninfo_game.sh,info_messages.sh,check_system_requirements.sh, and the new_default.cfg[/Script/Dominion.DedicatedServerSettings]and the keys the server writes on first launch.serverlist.csvisubuntu-24.04; Ubuntu 24.04 verification still pending.Risk and rollback
Breaking changes
Documentation impact
A new page under
LinuxGSM-Docs/game-servers/forrsdwservershould be added once this lands. Happy to open the docs PR as a follow-up.Checklist
PR will not be merged until all steps are complete.
Documentation
If documentation does need updating either update it by creating a PR (preferred) or request a documentation update.