Skip to content

Add Linux development release.#3394

Merged
ratkosrb merged 1 commit into
vmangos:developmentfrom
mserajnik:add-linux-releases
May 11, 2026
Merged

Add Linux development release.#3394
ratkosrb merged 1 commit into
vmangos:developmentfrom
mserajnik:add-linux-releases

Conversation

@mserajnik
Copy link
Copy Markdown
Contributor

@mserajnik mserajnik commented May 5, 2026

🍰 Pullrequest

This adds a Linux development release (amd64-only) similar to the existing Windows release, as requested by @NickTyrer.

The release is built on Ubuntu 24.04 and published as dev-linux-amd64-<sha>.tar.gz under a new linux_latest moving release tag.

I decided to make the release somewhat portable instead of relying on system dependencies, but it is not fully statically linked. Instead, the package bundles non-glibc runtime libraries in lib/ and uses PatchELF to set relative RPATHs, so binaries under bin/ can find the bundled libraries after extraction.

glibc and the dynamic loader are not bundled, so the archive is expected to work on amd64 systems with glibc 2.39 or newer. Alpine/musl and older glibc systems are not supported.

The workflow includes a small smoke test (which I can also remove if unwanted) that extracts the archive in a fresh Ubuntu 24.04 Docker container, runs realmd --version and mangosd --version, and checks the packaged ELF files with ldd. I have not done a full runtime test with a configured database and extracted client data, so I marked this as draft for now. (@NickTyrer: if you could try this, it would be great.)

Edit: I did some testing and for me everything worked, Nick tested too, so this should be fine functionality-wise, removed the draft status.

Proof

  • None

Issues

How2Test

  1. Download the test release from my fork.
  2. Extract it and run from the archive root:
cd vmangos-linux-amd64
  1. Copy and edit the config files:
cp etc/realmd.conf.dist etc/realmd.conf
cp etc/mangosd.conf.dist etc/mangosd.conf
  1. Adjust DB credentials and other settings as required for your setup.
  2. Put extracted client data under the archive root, matching the default DataDir = "." (or put it elsewhere and adjust DataDir accordingly):
vmangos-linux-amd64/
  maps/
  mmaps/
  vmaps/
  5875/
    dbc/
  1. Start realmd and mangosd from the archive root:
./bin/realmd
./bin/mangosd

Todo / Checklist

  • Test if it actually works

@NickTyrer
Copy link
Copy Markdown
Contributor

Brilliant, I will test this weekend. Thanks

@NickTyrer
Copy link
Copy Markdown
Contributor

Tested and working fine, thanks.

@mserajnik mserajnik marked this pull request as ready for review May 10, 2026 10:43
@0blu
Copy link
Copy Markdown
Collaborator

0blu commented May 10, 2026

Since it is built with OpenSSL3 it is currently ""blocked"" by #3402

@ratkosrb ratkosrb merged commit e91dd75 into vmangos:development May 11, 2026
12 checks passed
@mserajnik mserajnik deleted the add-linux-releases branch May 12, 2026 05:17
@0blu
Copy link
Copy Markdown
Collaborator

0blu commented May 13, 2026

@mserajnik is it possible to have just one tag?
Right now we have latest and linux_latest

@mserajnik
Copy link
Copy Markdown
Contributor Author

@mserajnik is it possible to have just one tag?

Right now we have latest and linux_latest

Possible, but requires quite a bit of restructuring.

I can tackle that, but will probably take a few weeks as I'm busy with other stuff at the moment.

@ratkosrb
Copy link
Copy Markdown
Contributor

And don't forget we also need a MacOS build action! 👼

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.

4 participants