Xonotic Forums
[NEED HELP] After a successful build & compile (0.8.5): This script is not properly set up yet. - Printable Version

+- Xonotic Forums (https://forums.xonotic.org)
+-- Forum: Support (https://forums.xonotic.org/forumdisplay.php?fid=3)
+--- Forum: Xonotic - Help & Troubleshooting (https://forums.xonotic.org/forumdisplay.php?fid=4)
+--- Thread: [NEED HELP] After a successful build & compile (0.8.5): This script is not properly set up yet. (/showthread.php?tid=9815)



After a successful build & compile (0.8.5): This script is not properly set up yet. - John - 01-21-2024

Hello,

I am new to this, but I have been running a dedicated Xonotic server since 0.8.2 on a ClearOS 7 box (CentOS) and it's time for an update.

This is the output for the only way I was able to confirm that my 1st build, in my 1st container on my 1st project on my new NethServer 7 box (CentOS) for Xonotic 0.8.6 could be possible.

Following the RPM based system instructions and doing some research, I was able to achieve partial success by placing the following at the end of my Dockerfile:

Code:
# Run a dedicated server
RUN ./all run dedicated

Code:
Game is Xonotic using base gamedir data
gamename for server filtering: Xonotic
Xonotic Linux dedicated, buildstring: v20140513-1377-g26923fa0 Jan 21 2024 release
Current nice level is below the soft limit - cannot use niceness
Loaded library "libd0_blind_id.so.0"
Loaded library "libd0_rijndael.so.0"
Loaded library "libcurl.so.4"
Skeletal animation uses SSE code path
execing quake.rc
execing default.cfg
execing xonotic-common.cfg
execing xonotic-client.cfg
Warning: Could not expand $vid_width
Warning: Could not expand $vid_height
Warning: Could not expand $vid_pixelheight
Warning: Could not expand $vid_desktopfullscreen
execing sRGB-disable.cfg
execing binds-xonotic.cfg
execing effects-normal.cfg
execing crosshairs.cfg
execing gamemodes-client.cfg
execing notifications.cfg
execing _hud_common.cfg
execing _hud_descriptions.cfg
execing hud_luma.cfg
execing xonotic-server.cfg
execing testing.cfg
execing balance-xonotic.cfg
execing bal-wep-xonotic.cfg
execing physicsX.cfg
execing turrets.cfg
execing vehicles.cfg
execing gamemodes-server.cfg
execing ctfscoring-samual.cfg
execing mutators.cfg
execing randomitems-xonotic.cfg
execing monsters.cfg
execing minigames.cfg
execing physics.cfg
execing cdtracks.cfg
execing commands.cfg
Warning: Could not expand $qport in alias _if_dedicated
execing help.cfg
couldn't exec config.cfg
"maxplayers" set to "16"
execing data/campaign.cfg
execing config_update.cfg
execing font-xolonium.cfg
Warning: Could not expand $con_textsize
Warning: Could not expand $con_notifysize
Warning: Could not expand $con_chatsize
Warning: Could not expand $scr_loadingscreen_barheight
Warning: Could not expand $scr_infobar_height
This command only works on clients: cl_cmd hud scoreboard_columns_set
execing autoexec/empty.cfg
execing autoexec.cfg
Loaded public key key_0.d0pk (fingerprint: Xon//KssdlzGkFKdnnN4sgg8H+koTbBn5JTi37BAW1Q=)
Loaded public key key_1.d0pk (fingerprint: XHub/MCjSOklCBU4ADlHX3+EcTjC0xhJ6odguyTvGp0=)
Generated private ID key_0.d0pk (public key fingerprint: lBiYIo+tuwB1g0jY0qBkZj3qjwEu4TCt6lgpURuEh8U=)
Saved unsigned key to key_0.d0si
Signature generation in progress...
execing post-config.cfg
SpawnServer: _init/_init
Server listening on address 0.0.0.0:26000
Server listening on address [0:0:0:0:0:0:0:0]:26000
server: program loaded (crc 57413, size 6534K)
server VM warning: 12 of 16383 bytes available, will truncate 21 byte string "INFO_ITEM_WEAPON_DROP"
s221567: ce_startsolid:721: IFNOT      GLOBAL48507, statement 221579
s221568: ce_startsolid:721: STORE_F    GLOBAL48526, GLOBAL48508
s221569: ce_startsolid:721: STORE_ENT  GLOBAL48507, GLOBAL48508
s221570: ce_startsolid:721: FIELD_ENT  GLOBAL48507, .enemy (=.enemy), GLOBAL48527
s221571: ce_startsolid:721: FIELD_S    GLOBAL48508, .registered_id (=.registered_id), GLOBAL10
s221572: ce_startsolid:721: STORE_S    GLOBAL48525, GLOBAL4
s221573: ce_startsolid:721: STORE_S    GLOBAL27168, GLOBAL7
s221574: ce_startsolid:721: CALL3      strcat (=strcat())
ce_startsolid:721 : _static_Registry_check_Notifications_1 : statement 11
./ecs/systems/sv_physics.qc:721 : __static_init_1 : statement 274
            :632 : __spawnfunc___init_dedicated_server : statement 35
            :216 : StartFrame : statement 10
Server spawned.
execing server.cfg
You have started a dedicated server but have not created
any server.cfg in your config directory.
If you are seeing this when just trying to play Xonotic
(not host a server), try the other executables.
For information on how to set up a dedicated server,
look at the files in the server/ subdirectory of your
Xonotic install.
Quitting shortly.
Maplist contains no usable maps!  Resetting it to default map list.
Switching to map bromine
menu: unknown program name
SpawnServer: bromine
Server listening on address 0.0.0.0:26000
Server listening on address [0:0:0:0:0:0:0:0]:26000
server: program loaded (crc 57413, size 6534K)
server VM warning: 12 of 16383 bytes available, will truncate 21 byte string "INFO_ITEM_WEAPON_DROP"
s221567: ce_startsolid:721: IFNOT      GLOBAL48507, statement 221579
s221568: ce_startsolid:721: STORE_F    GLOBAL48526, GLOBAL48508
s221569: ce_startsolid:721: STORE_ENT  GLOBAL48507, GLOBAL48508
s221570: ce_startsolid:721: FIELD_ENT  GLOBAL48507, .enemy (=.enemy), GLOBAL48527
s221571: ce_startsolid:721: FIELD_S    GLOBAL48508, .registered_id (=.registered_id), GLOBAL10
s221572: ce_startsolid:721: STORE_S    GLOBAL48525, GLOBAL4
s221573: ce_startsolid:721: STORE_S    GLOBAL27168, GLOBAL7
s221574: ce_startsolid:721: CALL3      strcat (=strcat())
ce_startsolid:721 : _static_Registry_check_Notifications_1 : statement 11
./ecs/systems/sv_physics.qc:721 : __static_init_1 : statement 274
            :834 : __spawnfunc_worldspawn : statement 146
            :216 : StartFrame : statement 10
Server spawned.
Dedicated server requires server.cfg in your config directory, quitting.
Player stats writing failed: -2
Invalid response from keygen server:


The problem remains that I think that compiling did not go as planned, because the files in the container have mostly longer than 30 characters in the names.

Code:
# Update and compile Xonotic
RUN ./all each git clean -n -d
RUN ./all update -l best
RUN ./all compile -r -0

Code:
# ls -la
total 193840
drwxr-xr-x 1 root root     4096 Jan 21 18:36 .
drwxr-xr-x 1 root root      108 Jan 21 18:35 ..
-rw-r--r-- 1 root root  8696599 Aug 15 13:45 afterslime-5d4623929a2288fb8e0caa91e64e30275d5fe26f-f6171455ac2ea3a087415aecb6dc8ad72e22fd23.pk3
-rw-r--r-- 1 root root  5141107 Oct 22  2022 atelier-ad25de9fc4f26b4ca26da98effe1ac67708a06c0-0d88a619386c4fff95e6aaa55a4bfeae5d10b507.pk3
-rw-r--r-- 1 root root  3888526 May 31  2023 boil-e947e74d5be804a2047f8affbdb8b5d572da9eae-7cd472629b0fabeb2218405091afe6a774dc9bec.pk3
-rw-r--r-- 1 root root  5751369 May 31  2023 bromine-c1a99787e1b8dcebfc5cca901a31795b1a0711d1-9813e725da66c82024abddf1f1edf30d9f3c15ff.pk3
-rw-r--r-- 1 root root 22322917 Oct 11  2019 catharsis-ffda85a4c0919448c581dde84972a52483eb3184-2d7a20f25748dff9bc77cd1304434927d6a6bc51.pk3
-rw-r--r-- 1 root root  8184407 Oct 12  2019 courtfun-2b86fb7f4223a60d98c3847a9db941513789416b-dff9ba4fb55ae99d92afd0f938a87ad4ed05344e.pk3
-rw-r--r-- 1 root root  8827098 May 31  2023 dance-1283e426d7eb62c1dbaf560ca39b9c152e25c12b-eb92b32e513506c5601e7ca5a79af5d7597f2dc0.pk3
-rw-r--r-- 1 root root  4401990 Jun  7  2023 darkzone-c4b9580a6f52e4acf93f59ed9b0f745a761cce54-ea607bdc6469f1b8bc63926edb92ffa4adcc1417.pk3
-rw-r--r-- 1 root root 11706679 Jun  7  2023 erbium-be4734d0d3d4e5a2036e1b52b99f7899970f940c-16b5cc3de859c8c96bdbcb63007a49fa69ec9447.pk3
-rw-r--r-- 1 root root  4256323 Aug 15 13:54 finalrage-e574cc15b69f1e36ccb10f57be5ed11607c6bd36-45350cd3079c7aa7d15c31b33869a2f916eddf53.pk3
drwxr-xr-x 3 root root       54 Jan 21 18:22 font-dejavu.pk3dir
drwxr-xr-x 3 root root       47 Jan 21 18:22 font-nimbussansl.pk3dir
drwxr-xr-x 3 root root       27 Jan 21 18:22 font-unifont.pk3dir
drwxr-xr-x 3 root root       44 Jan 21 18:22 font-xolonium.pk3dir
-rw-r--r-- 1 root root  4300253 Dec 23  2021 fuse-80fe037f8b566b2a7642686a0d88b78a0da50f94-75bbcb07b27970101c2effabf7087497be6fed60.pk3
-rw-r--r-- 1 root root  9284416 May 31  2023 geoplanetary-f99232f8fc79c6146a8492fea22464b1442d1200-0e523399994a41d6d0d7a8e405e8b231f3dc7f92.pk3
-rw-r--r-- 1 root root       55 Jan 21 18:22 .gitignore
-rw-r--r-- 1 root root  5328587 Jun  7  2023 glowplant-f4213e4bbc5eb5cdc36449bb14d537701d8b5c5f-bb499ae726b4fd7e9d5c9868e72edce24644c1cf.pk3
-rw-r--r-- 1 root root  6502350 May 31  2023 go-80c9e0d6836a3e8819c950fba2b7057dd30f66f8-3c3e926b97509a7a801dc61494c821ab8bc769f3.pk3
-rw-r--r-- 1 root root   963675 May 31  2023 _hudsetup-0497847be79e01a8cd13ddeed1ee3752ab7bf256-3ecd1f9717987ba4f9e9f1864198acbbfd910f8a.pk3
-rw-r--r-- 1 root root 13984740 Jun  1  2023 implosion-5548282f9f55e33beb88ae2f42a4c947cfbde3eb-204c47f925550846774b3a4f59c94485322f8c4f.pk3
-rw-r--r-- 1 root root  1917837 Jun  7  2023 leave_em_behind-ee82e34486308539736c837ecb5a37c6b1dc34ae-b842f9a60c5e9c9277c63a351bb425da05b77da6.pk3
-rw-r--r-- 1 root root  1134687 Jun  7  2023 nexballarena-8bb6c1c1a7345aff08ecc39ddf66407150788d21-4f2c9621b1b794bc003f9300f91ade6843610317.pk3
-rw-r--r-- 1 root root  2777877 Jun  7  2023 opium-a7fb1513790443cc0095299f5f161ca810108bcd-08490569e1a83e4f7c1f93813823face3db616fd.pk3
-rw-r--r-- 1 root root  4281170 Jul  2  2023 runningman-cf6c4b8779c8d21c02409b7e66efdf878c280840-d47579683fad9017f59a77e8e4066d84599ef14c.pk3
-rw-r--r-- 1 root root  9395506 Jun  1  2023 runningmanctf-0254c3e9e6e58d21f943553ddcecd060d5474f2e-ec071498aa0390f217c9248538cbcfaee0cf233a.pk3
-rw-r--r-- 1 root root  5911952 Mar 19  2022 silentsiege-7f41ba1806adebf245ab8b39a5ff2db26ea4e7e6-d85e06f68ddd2958d75f35dc2ab1eff72be1a973.pk3
-rw-r--r-- 1 root root  6769821 Jan 10  2023 solarium-b16edbf122b33768813629ebd7826920d4f59849-c07c39fb6b2e5d2643d8baf1b6662e0932b676f3.pk3
-rw-r--r-- 1 root root  5105257 Jun 25  2022 space-elevator-abae97ebd4f1375d405104bad5b756d39981361f-2bec44fa20b2cc84a7a1057af60317b9ab5923a2.pk3
-rw-r--r-- 1 root root  4289881 Aug 17 10:52 stormkeep-97f4b0c20a12daa5b5d14e052e8b1466d5b1dcec-e8389de88dd25a7f991f3773c0a11c63e9522723.pk3
-rw-r--r-- 1 root root  5784893 Jun  7  2023 techassault-6ca48353b482f55cba7e7aaa6e9d7f89b59055f0-7cbb136bc92851d6e844675c8e375425b5a75fa6.pk3
-rw-r--r-- 1 root root  3221123 Dec 23 16:00 trident-045ddbf07801be2850e74ff0b1e7d2e712fe13ba-f51ac8bec1e79d2dc576d1c73c09fdfdff935ad8.pk3
-rw-r--r-- 1 root root 10256916 Jun  1  2023 vorix-2b7044016f9cec1a1dfa4bf79ec0000f9d0759b0-d61de96ac3140b88f61e6ede6792dece65337cd9.pk3
-rw-r--r-- 1 root root  3056304 Jun  2  2023 warfare-74fff6f67c3f4fb58c0cbb4c43e840c8cf67bb76-bdfdbed6d7a7c9b5054dfd1d9d6510257b05aff9.pk3
drwxr-xr-x 1 root root      187 Jan 21 18:34 xonotic-data.pk3dir
drwxr-xr-x 1 root root       26 Jan 21 18:30 xonotic-maps.pk3dir
drwxr-xr-x 1 root root       26 Jan 21 18:26 xonotic-music.pk3dir
-rw-r--r-- 1 root root 10961986 Feb  9  2019 xoylent-719ef6eeb4557948d55beba9fa44cd5622366339-afb7cd09bd6751ad75b788a1ddc6176c005d4fe0.pk3


I was able to start the container, but I had the this error when attempting to start the server from inside and outside the container and I was unable to find a similar to the client file structure.

Code:
# ./xonotic-linux64-dedicated
-bash: ./xonotic-linux64-dedicated: No such file or directory

Code:
# docker run -it xonotic-server:0.8.6
/usr/bin/docker-current: Error response from daemon: oci runtime error: container_linux.go:290: starting container process caused "exec: \"/opt/xonotic/0.8.6/xonotic-linux64-dedicated\": stat /opt/xonotic/0.8.6/xonotic-linux64-dedicated: no such file or directory".

Code:
# ls -la
lrwxrwxrwx  1 root root      20 Jan 21 17:07 xonotic-linux-dedicated.sh -> xonotic-linux-sdl.sh

Code:
# docker ps -l
CONTAINER ID  IMAGE                 COMMAND             CREATED        STATUS   PORTS      NAMES
9ca49a346778  xonotic-server:0.8.6  "/opt/xonotic/..."  2 minutes ago  Created  26000/udp  ecstatic_feynman


Please advice and thanks in advance,

J.

PS.
I added the full output of Dockerfile.
AFAIK I am left with only a few minor warnings resulting in a successful build.

EDIT:
It seems that version 0.8.6 requires a glibc version that is not available for NethServer 7 (CentOS) and this cannot be updated without compromising your system stability.


RE: After a successful build & compile (0.8.5): This script is not properly set up ye - John - 01-27-2024

Hi all,

Because it was not possible for me to run version 0.8.6 on a NethServer 7 box, I tried building 0.8.5 with success ... Big Grin
(But I still need some help, so keep on reading.)
Code:
# docker build --no-cache -t xonotic-server:0.8.5 .
[+] Building 1188.3s (38/38) FINISHED                            docker:default
=> [internal] load build definition from Dockerfile                       0.1s
=> => transferring dockerfile: 6.53kB                                     0.0s
=> [internal] load metadata for docker.io/library/centos:8                1.3s
=> [internal] load .dockerignore                                          0.1s
=> => transferring context: 2B                                            0.0s
=> CACHED [ 1/34] FROM docker.io/library/centos:8@sha256:a27fd8080b51714  0.0s
=> [internal] load build context                                          0.1s
=> => transferring context: 32B                                           0.0s
=> [ 2/34] RUN cd /etc/yum.repos.d/     && sed -i 's/mirrorlist/#mirrorl  0.6s
=> [ 3/34] RUN yum install -y dnf unzip zip wget                         15.2s
=> [ 4/34] RUN dnf install -y https://dl.fedoraproject.org/pub/epel/epel  3.6s
=> [ 5/34] RUN dnf install -y zlib-devel openssl-devel libX11-devel lib  49.2s
=> [ 6/34] WORKDIR /tmp                                                   0.2s
=> [ 7/34] RUN curl -LO https://curl.se/download/curl-7.74.0.tar.gz      63.3s
=> [ 8/34] WORKDIR /tmp                                                   0.2s
=> [ 9/34] RUN curl -L https://downloads.xiph.org/releases/vorbis/libvo  19.8s
=> [10/34] RUN rm -rf /tmp/libvorbis-1.3.7                                0.7s
=> [11/34] RUN dnf install -y rsync autoconf automake gcc-c++ gmp-devel  13.3s
=> [12/34] RUN dnf update -y                                             56.4s
=> [13/34] RUN dnf install -y alsa-lib desktop-file-utils gtk-update-ic  10.4s
=> [14/34] RUN dnf install -y libmodplug-devel dbus dbus-devel            3.5s
=> [15/34] RUN curl -L https://github.com/libsdl-org/SDL/archive/relea  155.1s
=> [16/34] WORKDIR /opt/xonotic/0.8.5/                                    0.2s
=> [17/34] RUN dnf install -y curl-devel expat-devel gettext-devel opens  6.8s
=> [18/34] RUN curl -LO https://github.com/git/git/archive/v2.35.1.tar  134.6s
=> [19/34] RUN git config --global pull.rebase false                      0.5s
=> [20/34] RUN git clone https://gitlab.com/xonotic/xonotic.git .        26.1s
=> [21/34] RUN git checkout master                                        0.6s
=> [22/34] RUN mkdir -p /opt/xonotic/0.8.5/gmqcc                          0.5s
=> [23/34] RUN ./all each /usr/local/bin/git clean -n -d     && ./all   527.4s
=> [24/34] RUN cp server/server_linux.sh .                                1.5s
=> [25/34] RUN mkdir -p $HOME/.xonotic/data                               1.3s
=> [26/34] RUN mkdir -p ~/.xonotic/data                                   1.2s
=> [27/34] RUN mkdir -p /root/.xonotic/data                               1.5s
=> [28/34] RUN mkdir -p data/.xonotic                                     1.2s
=> [29/34] COPY server.cfg /.xonotic/data/server.cfg                      0.9s
=> [30/34] COPY server.cfg ~/.xonotic/data/server.cfg                     0.7s
=> [31/34] COPY server.cfg /root/.xonotic/data/server.cfg                 0.7s
=> [32/34] COPY server.cfg data/.xonotic/server.cfg                       0.9s
=> [33/34] COPY server.cfg data/server.cfg                                0.7s
=> exporting to image                                                    85.8s
=> => exporting layers                                                   85.7s
=> => writing image sha256:3508fc5e83385ccab1bdde17bdf9bbd7d929023b1b4c6  0.0s
=> => naming to docker.io/library/xonotic-server:0.8.5                    0.1s

i was able to build and compile it with all the required dependencies. I had to use 'make' for four dependencies to compile them from source (libcurl 7.74.0, libvorbis 1.3.7, SDL2 2.28.5 & git 2.35.1), because they were not available in the repository.

List of all the dependencies installed in the container:
Code:
     1  perl-CPAN-Meta-2.150010-396.el8.noarch
     2  perl-Pod-Simple-3.35-395.el8.noarch
     3  ghc-srpm-macros-1.4.2-7.el8.noarch
     4  perl-Text-ParseWords-3.30-395.el8.noarch
     5  redhat-rpm-config-125-1.el8.noarch
     6  perl-Getopt-Long-2.50-4.el8.noarch
     7  gettext-devel-0.19.8.1-17.el8.x86_64
     8  perl-Carp-1.42-396.el8.noarch
     9  perl-parent-0.237-1.el8.noarch
    10  perl-File-Path-2.15-2.el8.noarch
    11  perl-threads-2.21-2.el8.x86_64
    12  bzip2-libs-1.0.6-26.el8.x86_64
    13  perl-Thread-Queue-3.13-1.el8.noarch
    14  xorg-x11-proto-devel-2020.1-3.el8.noarch
    15  libsepol-devel-2.9-3.el8.x86_64
    16  krb5-devel-1.18.2-14.el8.x86_64
    17  gmp-6.1.2-10.el8.x86_64
    18  libxcrypt-devel-4.1.1-6.el8.x86_64
    19  cmake-data-3.20.2-4.el8.noarch
    20  libX11-devel-1.6.8-5.el8.x86_64
    21  libogg-devel-1.3.2-10.el8.x86_64
    22  p11-kit-0.23.22-1.el8.x86_64
    23  libXext-1.3.4-1.el8.x86_64
    24  libunistring-0.9.9-3.el8.x86_64
    25  gmp-c++-6.1.2-10.el8.x86_64
    26  git-core-2.27.0-1.el8.x86_64
    27  p11-kit-trust-0.23.22-1.el8.x86_64
    28  perl-Git-2.27.0-1.el8.noarch
    29  gmp-devel-6.1.2-10.el8.x86_64
    30  libusbx-1.0.23-4.el8.x86_64
    31  curl-7.61.1-22.el8.x86_64
    32  coreutils-single-8.30-12.el8.x86_64
    33  sqlite-libs-3.26.0-15.el8.x86_64
    34  xz-5.2.4-3.el8.x86_64
    35  libcap-ng-0.7.11-1.el8.x86_64
    36  libsemanage-2.9-6.el8.x86_64
    37  lz4-libs-1.8.3-3.el8_4.x86_64
    38  bash-4.4.20-2.el8.x86_64
    39  pam-1.3.1-15.el8.x86_64
    40  libmetalink-0.1.3-7.el8.x86_64
    41  chkconfig-1.19.1-1.el8.x86_64
    42  ipcalc-0.2.4-4.el8.x86_64
    43  libfdisk-2.32.1-28.el8.x86_64
    44  gawk-4.2.1-2.el8.x86_64
    45  platform-python-3.6.8-41.el8.x86_64
    46  libnsl2-1.2.0-2.20180605git4a062cf.el8.x86_64
    47  libcomps-0.1.16-2.el8.x86_64
    48  libpwquality-1.4.4-3.el8.x86_64
    49  libbpf-0.4.0-1.el8.x86_64
    50  libsmartcols-2.32.1-28.el8.x86_64
    51  dhcp-common-4.3.6-45.el8.noarch
    52  libyaml-0.1.7-5.el8.x86_64
    53  centos-linux-release-8.5-1.2111.el8.noarch
    54  pigz-2.4-4.el8.x86_64
    55  kbd-2.0.4-10.el8.x86_64
    56  grub2-tools-minimal-2.02-106.el8.x86_64
    57  elfutils-debuginfod-client-0.185-1.el8.x86_64
    58  device-mapper-1.02.177-10.el8.x86_64
    59  iputils-20180629-7.el8.x86_64
    60  libcroco-0.6.12-4.el8_2.1.x86_64
    61  glib2-2.56.4-156.el8.x86_64
    62  systemd-239-51.el8_5.2.x86_64
    63  dhcp-client-4.3.6-45.el8.x86_64
    64  python3-rpm-4.14.3-19.el8.x86_64
    65  rootfiles-8.1-22.el8.noarch
    66  libibverbs-35.0-1.el8.x86_64
    67  librepo-1.14.0-2.el8.x86_64
    68  openldap-2.4.46-18.el8.x86_64
    69  unbound-libs-1.7.3-17.el8.x86_64
    70  libglvnd-1.3.2-1.el8.x86_64
    71  python3-dnf-4.7.0-4.el8.noarch
    72  libXfixes-devel-5.0.3-7.el8.x86_64
    73  libpsl-0.20.2-6.el8.x86_64
    74  libxshmfence-1.3-2.el8.x86_64
    75  python3-six-1.11.0-8.el8.noarch
    76  mesa-libgbm-21.1.5-1.el8.x86_64
    77  python3-dnf-plugins-core-4.0.21-3.el8.noarch
    78  libglvnd-opengl-1.3.2-1.el8.x86_64
    79  emacs-filesystem-26.1-7.el8.noarch
    80  valgrind-devel-3.17.0-5.el8.x86_64
    81  glibc-2.28-164.el8.x86_64
    82  mesa-libEGL-21.1.5-1.el8.x86_64
    83  libxcrypt-4.1.1-6.el8.x86_64
    84  libXinerama-1.1.4-1.el8.x86_64
    85  openssl-1.1.1k-5.el8_5.x86_64
    86  mesa-libGL-devel-21.1.5-1.el8.x86_64
    87  libcurl-minimal-7.61.1-22.el8.x86_64
    88  mesa-libGLU-9.0.0-15.el8.x86_64
    89  alsa-lib-1.2.5-4.el8.x86_64
    90  desktop-file-utils-0.23-8.el8.x86_64
    91  libuv-1.41.1-1.el8_4.x86_64
    92  dbus-devel-1.12.8-14.el8.x86_64
    93  pkgconf-1.4.2-1.el8.x86_64
    94  python-srpm-macros-3-41.el8.noarch
    95  pcre2-utf32-10.32-2.el8.x86_64
    96  python-rpm-macros-3-41.el8.noarch
    97  ncurses-6.1-9.20180224.el8.x86_64
    98  perl-Math-Complex-1.59-420.el8.noarch
    99  perl-libnet-3.11-3.el8.noarch
   100  rust-srpm-macros-5-2.el8.noarch
   101  perl-Mozilla-CA-20160104-7.module_el8.3.0+416+dee7bcef.noarch
   102  perl-ExtUtils-Command-7.34-1.el8.noarch
   103  perl-Term-ANSIColor-4.06-396.el8.noarch
   104  perl-CPAN-Meta-YAML-0.018-397.el8.noarch
   105  perl-File-Temp-0.230.600-1.el8.noarch
   106  python3-setuptools-wheel-39.2.0-6.el8.noarch
   107  openblas-srpm-macros-2-2.el8.noarch
   108  perl-HTTP-Tiny-0.074-1.el8.noarch
   109  go-srpm-macros-2-17.el8.noarch
   110  perl-Pod-Perldoc-3.28-396.el8.noarch
   111  libreport-filesystem-2.9.5-15.el8.x86_64
   112  efi-srpm-macros-3-3.el8.noarch
   113  perl-Pod-Usage-1.69-395.el8.noarch
   114  annobin-9.72-1.el8_5.2.x86_64
   115  perl-Storable-3.11-3.el8.x86_64
   116  perl-Errno-1.28-420.el8.x86_64
   117  perl-Encode-2.97-3.el8.x86_64
   118  setup-2.12.2-6.el8.noarch
   119  perl-Exporter-5.72-396.el8.noarch
   120  basesystem-11-5.el8.noarch
   121  perl-Scalar-List-Utils-1.49-2.el8.x86_64
   122  libselinux-2.9-5.el8.x86_64
   123  perl-macros-5.26.3-420.el8.x86_64
   124  perl-Unicode-Normalize-1.25-396.el8.x86_64
   125  perl-IO-1.38-420.el8.x86_64
   126  perl-constant-1.33-396.el8.noarch
   127  xz-libs-5.2.4-3.el8.x86_64
   128  perl-threads-shared-1.58-2.el8.x86_64
   129  autoconf-2.69-29.el8.noarch
   130  info-6.5-6.el8.x86_64
   131  automake-1.16.1-7.el8.noarch
   132  libzstd-1.4.4-1.el8.x86_64
   133  pkgconf-pkg-config-1.4.2-1.el8.x86_64
   134  libXau-devel-1.0.9-3.el8.x86_64
   135  libcom_err-devel-1.45.6-2.el8.x86_64
   136  libverto-devel-0.3.0-5.el8.x86_64
   137  popt-1.18-1.el8.x86_64
   138  libselinux-devel-2.9-5.el8.x86_64
   139  readline-7.0-10.el8.x86_64
   140  zlib-devel-1.2.11-17.el8.x86_64
   141  glibc-headers-2.28-164.el8.x86_64
   142  libacl-2.2.53-1.el8.x86_64
   143  glibc-devel-2.28-164.el8.x86_64
   144  vim-filesystem-8.0.1763-16.el8.noarch
   145  cmake-3.20.2-4.el8.x86_64
   146  audit-libs-3.0-0.17.20191104git1c2f876.el8.x86_64
   147  libX11-1.6.8-5.el8.x86_64
   148  libtool-2.4.6-25.el8.x86_64
   149  alsa-lib-devel-1.2.5-4.el8.x86_64
   150  libffi-3.1-22.el8.x86_64
   151  libcurl-devel-7.61.1-22.el8.x86_64
   152  gzip-1.9-12.el8.x86_64
   153  libstdc++-8.5.0-4.el8_5.x86_64
   154  cracklib-dicts-2.9.6-15.el8.x86_64
   155  libXext-devel-1.3.4-1.el8.x86_64
   156  libidn2-2.2.0-1.el8.x86_64
   157  libstdc++-devel-8.5.0-4.el8_5.x86_64
   158  gdbm-libs-1.18-1.el8.x86_64
   159  openssh-8.0p1-10.el8.x86_64
   160  libmnl-1.0.4-6.el8.x86_64
   161  openssh-clients-8.0p1-10.el8.x86_64
   162  libtasn1-4.13-3.el8.x86_64
   163  git-core-doc-2.27.0-1.el8.noarch
   164  lzo-2.08-14.el8.x86_64
   165  perl-Error-0.17025-2.el8.noarch
   166  grep-3.1-6.el8.x86_64
   167  git-2.27.0-1.el8.x86_64
   168  libjpeg-turbo-devel-1.5.3-12.el8.x86_64
   169  gcc-c++-8.5.0-4.el8_5.x86_64
   170  procps-ng-3.3.15-6.el8.x86_64
   171  binutils-2.30-108.el8_5.1.x86_64
   172  rsync-3.1.3-12.el8.x86_64
   173  libcap-2.26-5.el8.x86_64
   174  elfutils-libelf-0.185-1.el8.x86_64
   175  libarchive-3.3.3-1.el8.x86_64
   176  libxml2-2.9.7-9.el8_4.2.x86_64
   177  ima-evm-utils-1.3.2-12.el8.x86_64
   178  shadow-utils-4.6-14.el8.x86_64
   179  squashfs-tools-4.3-20.el8.x86_64
   180  libuuid-2.32.1-28.el8.x86_64
   181  gdbm-1.18-1.el8.x86_64
   182  kmod-libs-25-18.el8.x86_64
   183  python3-pip-wheel-9.0.3-20.el8.noarch
   184  libutempter-1.1.6-14.el8.x86_64
   185  libtirpc-1.1.4-5.el8.x86_64
   186  acl-2.2.53-1.el8.x86_64
   187  filesystem-3.8-6.el8.x86_64
   188  libblkid-2.32.1-28.el8.x86_64
   189  systemd-libs-239-51.el8_5.2.x86_64
   190  kmod-25-18.el8.x86_64
   191  findutils-4.6.0-20.el8.x86_64
   192  grub2-common-2.02-106.el8.noarch
   193  cpio-2.12-10.el8.x86_64
   194  dbus-tools-1.12.8-14.el8.x86_64
   195  libnghttp2-1.33.0-3.el8_2.1.x86_64
   196  rdma-core-35.0-1.el8.x86_64
   197  libsigsegv-2.11-5.el8.x86_64
   198  diffutils-3.6-6.el8.x86_64
   199  libverto-0.3.0-5.el8.x86_64
   200  python3-libs-3.6.8-41.el8.x86_64
   201  platform-python-pip-9.0.3-20.el8.noarch
   202  platform-python-setuptools-39.2.0-6.el8.noarch
   203  file-5.33-20.el8.x86_64
   204  libdb-utils-5.3.28-42.el8_4.x86_64
   205  rpm-4.14.3-19.el8.x86_64
   206  iproute-5.12.0-4.el8.x86_64
   207  pcre-8.42-6.el8.x86_64
   208  util-linux-2.32.1-28.el8.x86_64
   209  ethtool-5.8-7.el8.x86_64
   210  dbus-common-1.12.8-14.el8.noarch
   211  centos-gpg-keys-8-3.el8.noarch
   212  gnupg2-2.2.20-2.el8.x86_64
   213  centos-linux-repos-8-3.el8.noarch
   214  trousers-lib-0.3.15-1.el8.x86_64
   215  memstrack-0.1.11-1.el8.x86_64
   216  kbd-legacy-2.0.4-10.el8.noarch
   217  pciutils-3.7.0-1.el8.x86_64
   218  hardlink-1.3-6.el8.x86_64
   219  libxkbcommon-0.9.1-1.el8.x86_64
   220  grubby-8.40-42.el8.x86_64
   221  crypto-policies-20210617-1.gitc776d3e.el8.noarch
   222  libkcapi-hmaccalc-1.2.0-2.el8.x86_64
   223  tar-1.30-5.el8.x86_64
   224  hostname-3.20-6.el8.x86_64
   225  langpacks-en-1.0-12.el8.noarch
   226  gpg-pubkey-8483c65d-5ccc5b19
   227  libsolv-0.7.19-1.el8.x86_64
   228  libdnf-0.63.0-3.el8.x86_64
   229  libevent-2.1.8-5.el8.x86_64
   230  python3-unbound-1.7.3-17.el8.x86_64
   231  dnf-data-4.7.0-4.el8.noarch
   232  mesa-libglapi-21.1.5-1.el8.x86_64
   233  dnf-4.7.0-4.el8.noarch
   234  libXfixes-5.0.3-7.el8.x86_64
   235  publicsuffix-list-dafsa-20180723-1.el8.noarch
   236  libXrender-devel-0.9.10-7.el8.x86_64
   237  wget-1.19.5-10.el8.x86_64
   238  libdrm-2.4.106-2.el8.x86_64
   239  yum-4.7.0-4.el8.noarch
   240  libglvnd-glx-1.3.2-1.el8.x86_64
   241  python3-dateutil-2.6.1-6.el8.noarch
   242  libwayland-server-1.19.0-1.el8.x86_64
   243  python3-dbus-1.2.4-15.el8.x86_64
   244  libpciaccess-devel-0.14-1.el8.x86_64
   245  dnf-plugins-core-4.0.21-3.el8.noarch
   246  libXrandr-1.5.2-1.el8.x86_64
   247  libgcc-8.5.0-4.el8_5.x86_64
   248  libpng-1.6.34-5.el8.x86_64
   249  cmake-rpm-macros-3.20.2-4.el8.noarch
   250  valgrind-3.17.0-5.el8.x86_64
   251  glibc-common-2.28-164.el8.x86_64
   252  libdrm-devel-2.4.106-2.el8.x86_64
   253  glibc-langpack-en-2.28-164.el8.x86_64
   254  libglvnd-egl-1.3.2-1.el8.x86_64
   255  keyutils-libs-1.5.10-9.el8.x86_64
   256  libglvnd-gles-1.3.2-1.el8.x86_64
   257  libXau-1.0.9-3.el8.x86_64
   258  libglvnd-devel-1.3.2-1.el8.x86_64
   259  libmpc-1.1.0-9.1.el8.x86_64
   260  libXi-1.7.10-1.el8.x86_64
   261  openssl-pkcs11-0.4.10-2.el8.x86_64
   262  libXinerama-devel-1.1.4-1.el8.x86_64
   263  krb5-libs-1.18.2-14.el8.x86_64
   264  gtk-update-icon-cache-3.22.30-8.el8.x86_64
   265  libkadm5-1.18.2-14.el8.x86_64
   266  libXcursor-devel-1.1.15-3.el8.x86_64
   267  keyutils-libs-devel-1.5.10-9.el8.x86_64
   268  libvorbis-1.3.6-2.el8.x86_64
   269  isl-0.16.1-6.el8.x86_64
   270  hicolor-icon-theme-0.17-2.el8.noarch
   271  libogg-1.3.2-10.el8.x86_64
   272  gpg-pubkey-2f86d6a1-5cf7cefb
   273  groff-base-1.22.3-18.el8.x86_64
   274  xml-common-0.6.3-50.el8.noarch
   275  libpkgconf-1.4.2-1.el8.x86_64
   276  libmodplug-devel-0.8.9.0-9.el8.x86_64
   277  m4-1.4.18-7.el8.x86_64
   278  perl-CPAN-Meta-Requirements-2.140-396.el8.noarch
   279  pcre2-utf16-10.32-2.el8.x86_64
   280  perl-Time-HiRes-1.9758-2.el8.x86_64
   281  libsepol-2.9-3.el8.x86_64
   282  perl-Test-Harness-3.42-1.el8.noarch
   283  ncurses-libs-6.1-9.20180224.el8.x86_64
   284  python3-rpm-macros-3-41.el8.noarch
   285  perl-Digest-1.17-395.el8.noarch
   286  systemtap-sdt-devel-4.5-3.el8.x86_64
   287  perl-Data-Dumper-2.167-399.el8.x86_64
   288  perl-Math-BigInt-1.9998.11-7.el8.noarch
   289  perl-Net-SSLeay-1.88-1.module_el8.3.0+410+ff426aa3.x86_64
   290  gettext-common-devel-0.19.8.1-17.el8.noarch
   291  perl-Pod-Escapes-1.07-395.el8.noarch
   292  qt5-srpm-macros-5.15.2-1.el8.noarch
   293  perl-IO-Socket-IP-0.39-5.el8.noarch
   294  perl-ExtUtils-Manifest-1.70-395.el8.noarch
   295  perl-IO-Socket-SSL-2.066-4.module_el8.3.0+410+ff426aa3.noarch
   296  perl-ExtUtils-Install-2.14-4.el8.noarch
   297  perl-ExtUtils-MakeMaker-7.34-1.el8.noarch
   298  expat-devel-2.2.5-4.el8.x86_64
   299  elfutils-default-yama-scope-0.185-1.el8.noarch
   300  kpartx-0.8.4-17.el8.x86_64
   301  device-mapper-libs-1.02.177-10.el8.x86_64
   302  gettext-libs-0.19.8.1-17.el8.x86_64
   303  gnutls-3.6.16-4.el8.x86_64
   304  gettext-0.19.8.1-17.el8.x86_64
   305  shared-mime-info-1.9-3.el8.x86_64
   306  grub2-tools-2.02-106.el8.x86_64
   307  systemd-udev-239-51.el8_5.2.x86_64
   308  dbus-1.12.8-14.el8.x86_64
   309  dracut-network-049-191.git20210920.el8.x86_64
   310  rpm-build-libs-4.14.3-19.el8.x86_64
   311  kexec-tools-2.0.20-57.el8_5.1.x86_64
   312  python3-libcomps-0.1.16-2.el8.x86_64
   313  tpm2-tss-2.3.2-4.el8.x86_64
   314  tzdata-2021e-1.el8.noarch
   315  json-c-0.13.1-2.el8.x86_64
   316  hwdata-0.314-8.10.el8.noarch
   317  perl-Encode-Locale-1.05-10.module_el8.3.0+416+dee7bcef.noarch
   318  perl-Term-Cap-1.17-395.el8.noarch
   319  ocaml-srpm-macros-5-4.el8.noarch
   320  perl-podlators-4.11-1.el8.noarch
   321  dwz-0.12-10.el8.x86_64
   322  perl-MIME-Base64-3.15-396.el8.x86_64
   323  perl-devel-5.26.3-420.el8.x86_64
   324  perl-Socket-2.027-3.el8.x86_64
   325  perl-libs-5.26.3-420.el8.x86_64
   326  pcre2-10.32-2.el8.x86_64
   327  perl-Text-Tabs+Wrap-2013.0523-395.el8.noarch
   328  perl-PathTools-3.74-1.el8.x86_64
   329  zlib-1.2.11-17.el8.x86_64
   330  perl-interpreter-5.26.3-420.el8.x86_64
   331  libgpg-error-1.31-1.el8.x86_64
   332  pkgconf-m4-1.4.2-1.el8.noarch
   333  libxcb-devel-1.13.1-1.el8.x86_64
   334  expat-2.2.5-4.el8.x86_64
   335  pcre2-devel-10.32-2.el8.x86_64
   336  kernel-headers-4.18.0-348.7.1.el8_5.x86_64
   337  libattr-2.4.48-3.el8.x86_64
   338  gcc-8.5.0-4.el8_5.x86_64
   339  sed-4.5-2.el8.x86_64
   340  libX11-common-1.6.8-5.el8.noarch
   341  openssl-devel-1.1.1k-5.el8_5.x86_64
   342  glibc-minimal-langpack-2.28-164.el8.x86_64
   343  cracklib-2.9.6-15.el8.x86_64
   344  libXxf86vm-1.1.4-9.el8.x86_64
   345  libassuan-2.5.1-3.el8.x86_64
   346  libedit-3.1-23.20170329cvs.el8.x86_64
   347  libnl3-3.5.0-1.el8.x86_64
   348  perl-TermReadKey-2.37-7.el8.x86_64
   349  libjpeg-turbo-1.5.3-12.el8.x86_64
   350  libXxf86vm-devel-1.1.4-9.el8.x86_64
   351  perl-Digest-SHA-6.02-1.el8.x86_64
   352  libdb-5.3.28-42.el8_4.x86_64
   353  lua-libs-5.3.4-12.el8.x86_64
   354  file-libs-5.33-20.el8.x86_64
   355  libgcrypt-1.8.5-6.el8.x86_64
   356  mpfr-3.1.6-1.el8.x86_64
   357  libmount-2.32.1-28.el8.x86_64
   358  snappy-1.1.8-3.el8.x86_64
   359  dbus-libs-1.12.8-14.el8.x86_64
   360  libksba-1.3.5-7.el8.x86_64
   361  dhcp-libs-4.3.6-45.el8.x86_64
   362  libseccomp-2.5.1-1.el8.x86_64
   363  ca-certificates-2021.2.50-80.0.el8_4.noarch
   364  nettle-3.4.1-7.el8.x86_64
   365  rpm-libs-4.14.3-19.el8.x86_64
   366  bind-export-libs-9.11.26-6.el8.x86_64
   367  gpgme-1.13.1-9.el8.x86_64
   368  cyrus-sasl-lib-2.1.27-5.el8.x86_64
   369  dbus-daemon-1.12.8-14.el8.x86_64
   370  npth-1.5-4.el8.x86_64
   371  which-2.21-16.el8.x86_64
   372  kbd-misc-2.0.4-10.el8.noarch
   373  pciutils-libs-3.7.0-1.el8.x86_64
   374  xkeyboard-config-2.28-1.el8.noarch
   375  libpcap-1.9.1-5.el8.x86_64
   376  crypto-policies-scripts-20210617-1.gitc776d3e.el8.noarch
   377  cryptsetup-libs-2.3.3-4.el8.x86_64
   378  elfutils-libs-0.185-1.el8.x86_64
   379  systemd-pam-239-51.el8_5.2.x86_64
   380  libkcapi-1.2.0-2.el8.x86_64
   381  os-prober-1.74-9.el8.x86_64
   382  dracut-049-191.git20210920.el8.x86_64
   383  trousers-0.3.15-1.el8.x86_64
   384  dracut-squash-049-191.git20210920.el8.x86_64
   385  less-530-1.el8.x86_64
   386  python3-gpg-1.13.1-9.el8.x86_64
   387  libmodulemd-2.13.0-1.el8.x86_64
   388  vim-minimal-8.0.1763-16.el8.x86_64
   389  python3-libdnf-0.63.0-3.el8.x86_64
   390  iptables-libs-1.8.4-20.el8.x86_64
   391  python3-hawkey-0.63.0-3.el8.x86_64
   392  libXrender-0.9.10-7.el8.x86_64
   393  unzip-6.0-45.el8_4.x86_64
   394  libpciaccess-0.14-1.el8.x86_64
   395  zip-3.0-23.el8.x86_64
   396  mesa-libGL-21.1.5-1.el8.x86_64
   397  dbus-glib-0.110-2.el8.x86_64
   398  libXcursor-1.1.15-3.el8.x86_64
   399  epel-release-8-19.el8.noarch
   400  gdk-pixbuf2-2.36.12-5.el8.x86_64
   401  cmake-filesystem-3.20.2-4.el8.x86_64
   402  libwayland-client-1.19.0-1.el8.x86_64
   403  libcom_err-1.45.6-2.el8.x86_64
   404  libglvnd-core-devel-1.3.2-1.el8.x86_64
   405  libxcb-1.13.1-1.el8.x86_64
   406  libXi-devel-1.7.10-1.el8.x86_64
   407  openssl-libs-1.1.1k-5.el8_5.x86_64
   408  libXrandr-devel-1.5.2-1.el8.x86_64
   409  cpp-8.5.0-4.el8_5.x86_64
   410  libXpm-3.5.12-8.el8.x86_64
   411  libX11-xcb-1.6.8-5.el8.x86_64
   412  libmodplug-0.8.9.0-9.el8.x86_64
   413  libgomp-8.5.0-4.el8_5.x86_64
   414  perl-version-0.99.24-1.el8.x86_64
   415  make-4.2.1-10.el8.x86_64
   416  perl-ExtUtils-ParseXS-3.35-2.el8.noarch
   417  ncurses-base-6.1-9.20180224.el8.noarch
   418  python3-pyparsing-2.1.10-7.el8.noarch
   419  perl-Digest-MD5-2.55-396.el8.x86_64
   420  perl-JSON-PP-2.97.001-3.el8.noarch
   421  perl-URI-1.73-3.el8.noarch
   422  perl-srpm-macros-1-25.el8.noarch
   423  perl-Time-Local-1.280-1.el8.noarch

This is my Dockerfile:
Code:
# Use the official CentOS image
FROM centos:8

# Update YUM repository settings
RUN cd /etc/yum.repos.d/ \
    && sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* \
    && sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

# Install essential tools
# -----------------------------------------------------------------------------
RUN yum install -y dnf unzip zip wget

# Install EPEL repository
# -----------------------------------------------------------------------------
RUN dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

# Install development libraries
# -----------------------------------------------------------------------------
RUN dnf install -y zlib-devel openssl-devel libX11-devel libogg-devel libcurl-devel libcurl-devel alsa-lib-devel autoconf automake libtool make gcc cmake

# Download and compile libcurl from source
WORKDIR /tmp
RUN curl -LO https://curl.se/download/curl-7.74.0.tar.gz \
    && tar -xzvf curl-7.74.0.tar.gz \
    && cd curl-7.74.0 \
    && ./configure \
    && make \
    && make install \
    && cd .. \
    && rm -rf curl-7.74.0.tar.gz curl-7.74.0

# Download and install libvorbis from source
# -----------------------------------------------------------------------------
WORKDIR /tmp
RUN curl -L https://downloads.xiph.org/releases/vorbis/libvorbis-1.3.7.tar.gz -o libvorbis.tar.gz \
    && tar -xzvf libvorbis.tar.gz \
    && cd libvorbis-1.3.7 \
    && ./configure --prefix=/usr/local \
    && make \
    && make install

# Cleanup
# -----------------------------------------------------------------------------
WORKDIR /
RUN rm -rf /tmp/libvorbis-1.3.7

# Install remaining dependencies
# -----------------------------------------------------------------------------
RUN dnf install -y rsync autoconf automake gcc-c++ gmp-devel libjpeg-turbo-devel libtool curl libXext-devel alsa-lib-devel libXxf86vm-devel zlib-devel curl-devel binutils openssl-devel perl-Digest-SHA make git dnf-plugins-core
RUN dnf update -y

# Install additional dependencies
# -----------------------------------------------------------------------------
RUN dnf install -y alsa-lib desktop-file-utils gtk-update-icon-cache hicolor-icon-theme libjpeg-turbo libpng libvorbis libXpm libXxf86vm xorg-x11-proto-devel mesa-libGLU gcc make autoconf automake libtool libX11-devel libXext-devel libXcursor-devel libXrandr-devel libXinerama-devel libXi-devel libXxf86vm-devel mesa-libGL-devel
RUN dnf install -y libmodplug-devel dbus dbus-devel

# Build and install SDL2 from source
# -----------------------------------------------------------------------------
RUN curl -L https://github.com/libsdl-org/SDL/archive/release-2.28.5.tar.gz -o SDL-release-2.28.5.tar.gz \
    && tar -xzf SDL-release-2.28.5.tar.gz \
    && cd SDL-release-2.28.5 \
    && ./configure \
    && make \
    && make install

# Set the working directory
# -----------------------------------------------------------------------------
WORKDIR /opt/xonotic/0.8.5/

# Install required dependencies for compiling Git from source
# -----------------------------------------------------------------------------
RUN dnf install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel

# Download and install Git from source
# -----------------------------------------------------------------------------
RUN curl -LO https://github.com/git/git/archive/v2.35.1.tar.gz \
    && tar xzf v2.35.1.tar.gz \
    && cd git-2.35.1 \
    && make configure \
    && ./configure --prefix=/usr/local \
    && make install \
    && cd .. \
    && rm -rf git-2.35.1 v2.35.1.tar.gz

# Add the directory containing the newly installed Git binary to the PATH
# -----------------------------------------------------------------------------
ENV PATH="/usr/local/bin:${PATH}"

# Clone the Xonotic repository
# -----------------------------------------------------------------------------
RUN git config --global pull.rebase false
RUN git clone https://gitlab.com/xonotic/xonotic.git .

# Checkout the main branch
# -----------------------------------------------------------------------------
RUN git checkout master

# Create the gmqcc directory
RUN mkdir -p /opt/xonotic/0.8.5/gmqcc

# Update and compile Xonotic
# -----------------------------------------------------------------------------
RUN ./all each /usr/local/bin/git clean -n -d \
    && ./all update -l best \
    && ./all compile -r -0 dedicated

# Expose the required ports
# -----------------------------------------------------------------------------
EXPOSE 26000/udp

# Copy server_linux.sh from the server folder to WORKDIR, inside the container
# -----------------------------------------------------------------------------
RUN cp server/server_linux.sh .

# Create a hidden folder .xonotic in the home directory
# -----------------------------------------------------------------------------
RUN mkdir -p ~/.xonotic/data

# Copy the server.cfg file from outside the container, inside the container
# -----------------------------------------------------------------------------
COPY server.cfg ~/.xonotic/data/server.cfg

# Set the default command to run when the container starts
# -----------------------------------------------------------------------------
CMD ["./server_linux.sh"]

Docker version:
Code:
# docker --version
Docker version 25.0.2, build 29cf629

Besides the data folder, the folder structure looks normal. But it seems that this is normal too.
After copying server/server_linux.sh to the root folder and server.cfg to the data folder, I ended up with this problem:
Code:
# docker run -p 26000:26000/udp xonotic-server:0.8.5
This script is not properly set up yet.
Please refer to the instructions in readme.txt.
In short:
- copy server.cfg to the data directory and adjust its settings
- move this file to the main directory of your Xonotic installation

I edited server.cfg but it still didn't solve my problem.
According to the readme.txt file I am supposed to copy server.cfg to ~/.xonotic/data.
I tested it with an absolute path and in the main folder, but it still didn't solve it.

This is supposed to mean that the program didn't crash, but the container exited after a second:
Code:
# docker logs dd3145206ad4
[root@dd3145206ad4 0.8.5]# cd data
[root@dd3145206ad4 data]# vi server.cfg
[root@dd3145206ad4 data]# exit
exit
# docker inspect --format '{{.State.ExitCode}}' dd3145206ad4
0

Code:
# docker ps -l
CONTAINER ID  IMAGE                 COMMAND              CREATED         STATUS                     PORTS  NAMES
f5dfc2c690c1  xonotic-server:0.8.5  "./server_linux.sh"  19 seconds ago  Exited (1) 18 seconds ago         competent_snyder

Eventually I got to this point:
Code:
# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
# docker ps -l
CONTAINER ID   IMAGE                  COMMAND                  CREATED        STATUS    PORTS     NAMES
4b58fc727632   xonotic-server:0.8.5   "./opt/xonotic/0.8.5…"   2 hours ago    Created             silly_dewdney


I successfully copied an edited version of server.cfg to the container with the Dockerfile:
Code:
# Create hidden folders named .xonotic in the home directory
RUN mkdir -p $HOME/.xonotic/data
RUN mkdir -p ~/.xonotic/data
RUN mkdir -p /root/.xonotic/data
RUN mkdir -p data/.xonotic

# Copy the server.cfg file from outside the container, inside the container
COPY server.cfg $HOME/.xonotic/data/server.cfg
COPY server.cfg data/server.cfg
COPY server.cfg ~/.xonotic/data/server.cfg
COPY server.cfg /root/.xonotic/data/server.cfg
COPY server.cfg data/.xonotic/server.cfg

I confirmed that this is the updated version, but it still doesn't start without the first mentioned error message.

When manually starting the container it constantly restarts:
Code:
# docker run --name xonotic \
>    -d \
>    -p 26000:26000/udp \
>    --env 'GAME_PARAMS=' \
>    --env 'GAME_VERSION=0.8.5' \
>    --env 'UID=99' \
>    --env 'GID=100' \
>    --volume /mnt/user/appdata/xonotic:/opt/xonotic/0.8.5/data \
>    --restart=unless-stopped \
>    xonotic-server:0.8.5
4d77d57eb42714a0e004da1dcd494e629f384041c1172386f6d131a80dee2c28
# docker ps
CONTAINER ID  IMAGE                 COMMAND              CREATED         STATUS                        PORTS  NAMES
4d77d57eb427  xonotic-server:0.8.5  "./server_linux.sh"  21 seconds ago  Restarting (1) 4 seconds ago         xonotic

# Output Dockerfile:
Code:
#40 [36/37] RUN ./all run dedicated
#40 0.308 Timing not supported.
#40 0.312 Found main repo = https://gitlab.com/xonotic/
#40 0.313 Repository . enabled because it already exists
#40 0.313 Repository data/xonotic-data.pk3dir enabled because it already exists
#40 0.313 Repository data/xonotic-music.pk3dir enabled because it already exists
#40 0.313 Repository data/xonotic-nexcompat.pk3dir disabled by default, create data/xonotic-nexcompat.pk3dir.yes to enable
#40 0.313 Repository data/xonotic-xoncompat.pk3dir disabled by default, create data/xonotic-xoncompat.pk3dir.yes to enable
#40 0.313 Repository darkplaces enabled because it already exists
#40 0.313 Repository netradiant enabled because it already exists
#40 0.313 Repository div0-gittools disabled by default, create div0-gittools.yes to enable
#40 0.314 Repository d0_blind_id enabled because it already exists
#40 0.314 Repository data/xonotic-maps.pk3dir enabled because it already exists
#40 0.314 Repository mediasource disabled by default, create mediasource.yes to enable
#40 0.314 Repository gmqcc enabled because it already exists
#40 0.314 Repository xonstat disabled by default, create xonstat.yes to enable
#40 0.314 Repository xonstatdb disabled by default, create xonstatdb.yes to enable
#40 0.314 Repository xonotic.org disabled by default, create xonotic.org.yes to enable
#40 0.314 Repository wiki disabled by default, create wiki.yes to enable
#40 0.324 + measure_time catchsegv darkplaces/darkplaces-dedicated -xonotic
#40 0.329 Game is Xonotic using base gamedir data
#40 0.329 gamename for server filtering: Xonotic
#40 0.331 Xonotic Linux dedicated, buildstring: v20140513-1395-g725fd6f8 Jan 29 2024 release
#40 0.331 Current nice level is below the soft limit - cannot use niceness
#40 0.332 Loaded library "libd0_blind_id.so.0"
#40 0.333 Loaded library "libd0_rijndael.so.0"
#40 0.335 Loaded library "libcurl.so.4"
#40 0.336 Skeletal animation uses SSE code path
#40 0.339 execing quake.rc
#40 0.340 execing default.cfg
#40 0.340 execing xonotic-common.cfg
#40 0.340 execing xonotic-client.cfg
#40 0.341 Warning: Could not expand $vid_width
#40 0.341 Warning: Could not expand $vid_height
#40 0.341 Warning: Could not expand $vid_pixelheight
#40 0.341 Warning: Could not expand $vid_desktopfullscreen
#40 0.341 execing sRGB-disable.cfg
#40 0.342 execing binds-xonotic.cfg
#40 0.344 execing effects-normal.cfg
#40 0.345 execing crosshairs.cfg
#40 0.345 execing gamemodes-client.cfg
#40 0.346 execing notifications.cfg
#40 0.355 execing _hud_common.cfg
#40 0.357 execing _hud_descriptions.cfg
#40 0.361 execing hud_luma.cfg
#40 0.362 execing xonotic-server.cfg
#40 0.369 execing testing.cfg
#40 0.369 execing balance-xonotic.cfg
#40 0.372 execing bal-wep-xonotic.cfg
#40 0.384 execing physicsX.cfg
#40 0.384 execing turrets.cfg
#40 0.395 execing vehicles.cfg
#40 0.404 execing gamemodes-server.cfg
#40 0.410 execing ctfscoring-samual.cfg
#40 0.419 execing mutators.cfg
#40 0.430 execing randomitems-xonotic.cfg
#40 0.436 execing monsters.cfg
#40 0.440 execing minigames.cfg
#40 0.441 execing physics.cfg
#40 0.452 execing cdtracks.cfg
#40 0.454 execing commands.cfg
#40 0.454 Warning: Could not expand $qport in alias _if_dedicated
#40 0.460 execing help.cfg
#40 0.461 couldn't exec config.cfg
#40 0.461 "maxplayers" set to "16"
#40 0.461 execing data/campaign.cfg
#40 0.461 execing config_update.cfg
#40 0.462 execing font-xolonium.cfg
#40 0.462 Warning: Could not expand $con_textsize
#40 0.462 Warning: Could not expand $con_notifysize
#40 0.462 Warning: Could not expand $con_chatsize
#40 0.462 Warning: Could not expand $scr_loadingscreen_barheight
#40 0.462 Warning: Could not expand $scr_infobar_height
#40 0.462 This command only works on clients: cl_cmd hud scoreboard_columns_set
#40 0.462 execing autoexec/empty.cfg
#40 0.462 execing autoexec.cfg
#40 0.462 Loaded public key key_0.d0pk (fingerprint: Xon//KssdlzGkFKdnnN4sgg8H+koTbBn5JTi37BAW1Q=)
#40 0.463 Loaded public key key_1.d0pk (fingerprint: XHub/MCjSOklCBU4ADlHX3+EcTjC0xhJ6odguyTvGp0=)
#40 0.463 Generated private ID key_0.d0pk (public key fingerprint: RHMeh4y87DbT5oHWjQ026QDo5OEKCPS7ABkEctwN3Gk=)
#40 0.464 Saved unsigned key to key_0.d0si
#40 0.464 Signature generation in progress...
#40 0.464 execing post-config.cfg
#40 0.469 SpawnServer: _init/_init
#40 0.480 Server listening on address 0.0.0.0:26000
#40 0.480 Server listening on address [0:0:0:0:0:0:0:0]:26000
#40 0.547 server: program loaded (crc 45983, size 6534K)
#40 0.991 server VM warning: 12 of 16383 bytes available, will truncate 21 byte string "INFO_ITEM_WEAPON_DROP"
#40 0.991 s221567: ce_startsolid:721: IFNOT      GLOBAL48507, statement 221579
#40 0.991 s221568: ce_startsolid:721: STORE_F    GLOBAL48526, GLOBAL48508
#40 0.991 s221569: ce_startsolid:721: STORE_ENT  GLOBAL48507, GLOBAL48508
#40 0.992 s221570: ce_startsolid:721: FIELD_ENT  GLOBAL48507, .enemy (=.enemy), GLOBAL48527
#40 0.992 s221571: ce_startsolid:721: FIELD_S    GLOBAL48508, .registered_id (=.registered_id), GLOBAL10
#40 0.992 s221572: ce_startsolid:721: STORE_S    GLOBAL48525, GLOBAL4
#40 0.992 s221573: ce_startsolid:721: STORE_S    GLOBAL27168, GLOBAL7
#40 0.992 s221574: ce_startsolid:721: CALL3      strcat (=strcat())
#40 0.992 ce_startsolid:721 : _static_Registry_check_Notifications_1 : statement 11
#40 0.992 ./ecs/systems/sv_physics.qc:721 : __static_init_1 : statement 274
#40 0.992             :632 : __spawnfunc___init_dedicated_server : statement 35
#40 0.992             :216 : StartFrame : statement 10
#40 2.291 Server spawned.
#40 2.707 execing server.cfg
#40 2.707 maxplayers can not be changed while a server is running.
#40 2.707 It will be changed on next server startup ("map" command).
#40 2.707 "maxplayers" set to "16"
#40 2.711 Switching to map fuse
#40 2.745 SpawnServer: fuse
#40 2.801 Server listening on address 0.0.0.0:26000
#40 2.801 Server listening on address [0:0:0:0:0:0:0:0]:26000
#40 2.851 server: program loaded (crc 45983, size 6534K)
#40 3.314 server VM warning: 12 of 16383 bytes available, will truncate 21 byte string "INFO_ITEM_WEAPON_DROP"
#40 3.314 s221567: ce_startsolid:721: IFNOT      GLOBAL48507, statement 221579
#40 3.314 s221568: ce_startsolid:721: STORE_F    GLOBAL48526, GLOBAL48508
#40 3.314 s221569: ce_startsolid:721: STORE_ENT  GLOBAL48507, GLOBAL48508
#40 3.314 s221570: ce_startsolid:721: FIELD_ENT  GLOBAL48507, .enemy (=.enemy), GLOBAL48527
#40 3.314 s221571: ce_startsolid:721: FIELD_S    GLOBAL48508, .registered_id (=.registered_id), GLOBAL10
#40 3.314 s221572: ce_startsolid:721: STORE_S    GLOBAL48525, GLOBAL4
#40 3.314 s221573: ce_startsolid:721: STORE_S    GLOBAL27168, GLOBAL7
#40 3.314 s221574: ce_startsolid:721: CALL3      strcat (=strcat())
#40 3.314 ce_startsolid:721 : _static_Registry_check_Notifications_1 : statement 11
#40 3.314 ./ecs/systems/sv_physics.qc:721 : __static_init_1 : statement 274
#40 3.314             :834 : __spawnfunc_worldspawn : statement 146
#40 3.314             :216 : StartFrame : statement 10
#40 3.417 Server spawned.
#40 3.685 Error response from keygen server: Not allowed

Can someone explain this to me:
Code:
# docker run -p 26000:26000/udp xonotic-server:0.8.5
This script is not properly set up yet.
Please refer to the instructions in readme.txt.
In short:
- copy server.cfg to the data directory and adjust its settings
- move this file to the main directory of your Xonotic installation

# docker run -d -p 26000:26000/udp xonotic-server:0.8.5
3cef3fc41c9ddff644477886f64f4248c419922e83ba630d484c9da5c09d1050

# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

# docker ps -l
CONTAINER ID  IMAGE                 COMMAND              CREATED         STATUS                     PORTS  NAMES
3cef3fc41c9d  xonotic-server:0.8.5  "./server_linux.sh"  21 seconds ago  Exited (1) 13 seconds ago         zealous_ritchie

# docker run -it --entrypoint /bin/bash xonotic-server:0.8.5

[root@acd462e28062 0.8.5]# ls -la ~/.xonotic/data
total 16
drwxr-xr-x 2 root root    32 Feb  3 23:42 .
drwxr-xr-x 1 root root    32 Feb  3 23:41 ..
-rw-r--r-- 1 root root 15584 Feb  2 21:04 server.cfg

[root@acd462e28062 0.8.5]# ls -la /root/.xonotic/data
total 16
drwxr-xr-x 2 root root    32 Feb  3 23:42 .
drwxr-xr-x 1 root root    32 Feb  3 23:41 ..
-rw-r--r-- 1 root root 15584 Feb  2 21:04 server.cfg

# docker inspect xonotic-server:0.8.5 | grep -i '/root/.xonotic/data'
                "/root/.xonotic/data": {}

# docker run -d -p 26000:26000 -v /root/.xonotic/data:/root/.xonotic/data xonotic-server:0.8.5
ea4a6a461e36c25c01615a73e726361972c1b2ed906abd2a48a3bed7b875a39e

# docker ps -l
CONTAINER ID  IMAGE                 COMMAND              CREATED         STATUS                     PORTS  NAMES
ea4a6a461e36  xonotic-server:0.8.5  "./server_linux.sh"  25 seconds ago  Exited (1) 21 seconds ago         hardcore_jones7

Please advice,

J.