diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-12 19:09:37 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-12 19:09:37 -0500 |
| commit | b590c8d7572b727d565cc0b8ff660d43569845de (patch) | |
| tree | 06f7a4102ea4e845df8b66660f252920d52952f9 /games-server | |
| parent | 24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff) | |
| download | baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip | |
Adding metadata
Diffstat (limited to 'games-server')
48 files changed, 1367 insertions, 0 deletions
diff --git a/games-server/bedrock-server/Manifest b/games-server/bedrock-server/Manifest new file mode 100644 index 000000000000..8a96b2c4794e --- /dev/null +++ b/games-server/bedrock-server/Manifest @@ -0,0 +1 @@ +DIST bedrock-server-1.26.21.1.zip 86579154 BLAKE2B e0b64cd760413130924eb134c82a668b4cbb96d5c876491d17d9e47d7375da164d53ba63da8db17e92a05332108ac48485e7f69fcf458a805a90ef2f2a6fc5fa SHA512 98e0c97574a6ae88d26f17f95779f59d73824d0102bf578bd26ad02d93178a7efeee1de78f7b96b11bfced10623f3902a3fd5d1e4d86880f7e947a682c04697d diff --git a/games-server/bedrock-server/bedrock-server-1.26.21.1.ebuild b/games-server/bedrock-server/bedrock-server-1.26.21.1.ebuild new file mode 100644 index 000000000000..e363e29bfbd4 --- /dev/null +++ b/games-server/bedrock-server/bedrock-server-1.26.21.1.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit systemd + +DESCRIPTION="The official bedrock (non-java) based server for the sandbox video game" +HOMEPAGE="https://www.minecraft.net/" +SRC_URI="https://www.minecraft.net/bedrockdedicatedserver/bin-linux/${P}.zip" +S="${WORKDIR}" + +LICENSE="Mojang" +SLOT="0" +KEYWORDS="-* amd64" + +RDEPEND=" + acct-group/bedrock + acct-user/bedrock + app-misc/dtach + net-misc/curl +" + +BDEPEND="app-arch/unzip" + +RESTRICT="bindist mirror" + +DOCS=( + "bedrock_server_how_to.html" + "release-notes.txt" +) + +QA_PREBUILT="opt/bedrock-server/bedrock_server" + +pkg_nofetch() { + einfo "Unfortunately downloading Bedrock server via CLI doesn't work anymore," + einfo "as Microsoft checks for user agent and otherwise you will get only timeout." + einfo "Please download yourself the Bedrock server from:" + einfo "https://www.minecraft.net/download/server/bedrock" + einfo "and place it in your DISTDIR." +} + +src_compile() { + :; +} + +src_install() { + exeinto /opt/bedrock-server + doexe bedrock_server + + insinto /opt/bedrock-server + doins {allowlist,permissions}.json server.properties + doins -r {behavior,resource}_packs definitions + + dodir /opt/bin + dosym ../bedrock-server/bedrock_server /opt/bin/bedrock-server + + newinitd "${FILESDIR}"/bedrock-server.initd-r5 bedrock-server + newconfd "${FILESDIR}"/bedrock-server.confd bedrock-server + systemd_newunit "${FILESDIR}"/bedrock-server.service bedrock-server@.service + + einstalldocs +} diff --git a/games-server/bedrock-server/files/bedrock-server.confd b/games-server/bedrock-server/files/bedrock-server.confd new file mode 100644 index 000000000000..d4185934e066 --- /dev/null +++ b/games-server/bedrock-server/files/bedrock-server.confd @@ -0,0 +1,7 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Dtach options, which will used, when the `attach` extra command is called. +# By default, CTRL+D is used, and no redraw is done, +# when you want to detach from the attached console. +DTACH_OPTS="-e '^D' -r none" diff --git a/games-server/bedrock-server/files/bedrock-server.initd-r5 b/games-server/bedrock-server/files/bedrock-server.initd-r5 new file mode 100644 index 000000000000..40946197b7c5 --- /dev/null +++ b/games-server/bedrock-server/files/bedrock-server.initd-r5 @@ -0,0 +1,62 @@ +#!/sbin/openrc-run +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +if [ "${SVCNAME}" = "bedrock-server" ]; then + instance="main" +else + instance="${SVCNAME#*.}" +fi + +bedrock_command="/opt/bin/bedrock-server" +bedrock_path="/var/lib/bedrock-server" +bedrock_path_data="/opt/bedrock-server" +bedrock_path_instance="${bedrock_path}/${instance}" +directory="${bedrock_path_instance}/" +dtach_tmpfile="$(mktemp -u)" +name="Minecraft Bedrock server (${instance})" +pidfile="/run/bedrock-server.${instance}.pid" + +description_attach="Attaches to the session (interactive console) of the Minecraft Bedrock server" +extra_started_commands="attach" + +command="/usr/bin/dtach" +command_background="true" +command_args="-N ${dtach_tmpfile} ${bedrock_command}" +command_group="bedrock" +command_user="bedrock" + +depend() { + use net +} + +start_pre() { + checkpath -d -o "${command_user}:${command_group}" -q "${bedrock_path}" "${bedrock_path_instance}" + + set -- "allowlist.json" "permissions.json" "server.properties" + for bedrock_config in $@; do + if [ ! -f "${bedrock_path_instance}/${bedrock_config}" ]; then + cp "${bedrock_path_data}/${bedrock_config}" "${bedrock_path_instance}" + checkpath -f -o "${command_user}:${command_group}" -q "${bedrock_path_instance}/${bedrock_config}" + fi + done + + set -- "behavior_packs" "definitions" "resource_packs" "structures" + for bedrock_ressource in $@; do + if [ ! -L "${bedrock_path_instance}/${bedrock_ressource}" ]; then + ln -sf "${bedrock_path_data}/${bedrock_ressource}" "${bedrock_path_instance}" + fi + done +} + +attach() { + pidnumber="$(cat ${pidfile})" + dtach_tmpfile="$(cat /proc/${pidnumber}/cmdline | tr '\0' ' ' | awk '{print $3}')" + + if [ -S "${dtach_tmpfile}" ]; then + eval "${command}" -a "${dtach_tmpfile}" "${DTACH_OPTS}" + else + eerror "The determined socket file for dtach could not be found!" + eerror "Did the process crash?" + fi +} diff --git a/games-server/bedrock-server/files/bedrock-server.service b/games-server/bedrock-server/files/bedrock-server.service new file mode 100644 index 000000000000..043f2d9e04b1 --- /dev/null +++ b/games-server/bedrock-server/files/bedrock-server.service @@ -0,0 +1,22 @@ +[Unit] +Description=Bedrock Server (World: %I) +After=network.target + +[Service] +User=bedrock +Group=bedrock +WorkingDirectory=-/var/lib/bedrock-server/%I +PIDFile=/run/bedrock-server.%I.pid +ExecStartPre=!/bin/mkdir -p /var/lib/bedrock-server/%I +ExecStartPre=!/bin/cp -n /opt/bedrock-server/allowlist.json /var/lib/bedrock-server/%I/ +ExecStartPre=!/bin/cp -n /opt/bedrock-server/permissions.json /var/lib/bedrock-server/%I/ +ExecStartPre=!/bin/cp -n /opt/bedrock-server/server.properties /var/lib/bedrock-server/%I/ +ExecStartPre=!/bin/ln -sf /opt/bedrock-server/behavior_packs /var/lib/bedrock-server/%I/ +ExecStartPre=!/bin/ln -sf /opt/bedrock-server/definitions /var/lib/bedrock-server/%I/ +ExecStartPre=!/bin/ln -sf /opt/bedrock-server/resource_packs /var/lib/bedrock-server/%I/ +ExecStartPre=!/bin/ln -sf /opt/bedrock-server/structures /var/lib/bedrock-server/%I/ +ExecStartPre=!/bin/chown -R bedrock:bedrock /var/lib/bedrock-server/%I +ExecStart=/bin/sh -c '/usr/bin/dtach -N $(mktemp -u) /opt/bin/bedrock-server' + +[Install] +WantedBy=multi-user.target diff --git a/games-server/bedrock-server/metadata.xml b/games-server/bedrock-server/metadata.xml new file mode 100644 index 000000000000..59afed51932a --- /dev/null +++ b/games-server/bedrock-server/metadata.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>conikost@gentoo.org</email> + <name>Conrad Kostecki</name> + </maintainer> + <longdescription> + Minecraft is a sandbox video game created and designed + by Swedish game designer Markus "Notch" Persson, + and later fully developed and published by Mojang. + This is the headless server for all versions of Minecraft + based on the bedrock engine and is not compatible with the java version. + </longdescription> + <upstream> + <bugs-to>https://bugs.mojang.com/projects/BDS/issues</bugs-to> + <remote-id type="cpe">cpe:/a:minecraft:bedrock_server</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/games-server/crossfire-server/Manifest b/games-server/crossfire-server/Manifest new file mode 100644 index 000000000000..83deb5fd6d30 --- /dev/null +++ b/games-server/crossfire-server/Manifest @@ -0,0 +1,5 @@ +DIST crossfire-1.71.0.arch.tar.bz2 3462161 BLAKE2B 4f2c7e9619ceca3aafea03a681e59c04e31c954c91b94e4065a6446d537c6f039fe58c04f50fd5eddb8290b9cb93533772c6c7963b526c537bf297f469ad5bb5 SHA512 f9707dc5dab24d0ba74654c6433e016a58ab4e99da5dade6614491eca00736965bb7fd9a24db4188c3409a0479a88bb0ea55282e519ffcbabf23d82e6a5b975e +DIST crossfire-1.71.0.maps.tar.bz2 19463076 BLAKE2B a6b1935985d82b53ef1dfd76b91e8d9417f03dceeddbc69154799703597d14d3ffb3dba8cec809345b62e99294ed3adec66cb2c9fae52fface96db8ba75daa7d SHA512 c3940b0a48f1badc14eb81610cfcd4241d140b666b5cb123845dca6ad742a18977ad7ada1d75d738f15f44374896c4dd6047989122257d7cd87362a3af0f97e8 +DIST crossfire-1.71.0.tar.bz2 6712638 BLAKE2B 91957fab3f19e52839eadfcb015a2fd8dfc551230fa55dd00254f39608ffbb8648227f3d2a244a609538ee2e426675e6b58dac73cf565554611ccb40d2839873 SHA512 d867f3393cb18ed78158c9a724d386dd642f0193ace86fef592e7bdc80885b7f7ce3c37be34b77d73b31c939d41e533029f2e7dea405c00d7a67aa3baebd146d +DIST crossfire-1.75.0.tar.gz 7199792 BLAKE2B cf9c8f40bfa3970ab28b21694fe85dc2a6849976903f1488fd3d3858927af6a0a47d47f382560f13f0d3d39c28f31c5f9dc55ec4e03cc290a13320c0831f795d SHA512 1e730fcccf302ab72850928a4f16a4b779558db57713fc9d8678f41df6c48139a87e8fda621a931a2a5530da924ab7c5e8a31cfe830b825cf369e743051036f4 +DIST crossfire-maps-1.75.0.tar.gz 33892228 BLAKE2B 47546d19eeb89ed19949a5ed1be4bc545d2347ee64d04fb803a66d7a7657cf3d98233f2fa32c89f5ba884535a7f6cffe2e7385860351334450ea9689cef3b8a0 SHA512 00b7ac1957d85d5f4ea847eaa59a80dda31b0518ecdfd31984349e5d7ca5ac5d526bbb1c7f64a0e5e0d60ec727bfe8f849bad6ad6d36fe570250c7f20c2b1220 diff --git a/games-server/crossfire-server/crossfire-server-1.71.0-r2.ebuild b/games-server/crossfire-server/crossfire-server-1.71.0-r2.ebuild new file mode 100644 index 000000000000..0dbb02d947ea --- /dev/null +++ b/games-server/crossfire-server/crossfire-server-1.71.0-r2.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_P="${P/-server/}" +DESCRIPTION="Server for the crossfire clients" +HOMEPAGE="http://crossfire.real-time.com/" +SRC_URI="https://downloads.sourceforge.net/crossfire/${PN}/${PV}/${MY_P}.tar.bz2 + https://downloads.sourceforge.net/crossfire/${PN}/${PV}/${MY_P}.maps.tar.bz2 + https://downloads.sourceforge.net/crossfire/${PN}/${PV}/${MY_P}.arch.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="X" +RESTRICT="test" + +RDEPEND=" + net-misc/curl + virtual/zlib:= + virtual/libcrypt:= + X? ( + x11-libs/libXaw + media-libs/libpng:0= + ) +" +DEPEND="${RDEPEND}" + +src_prepare() { + default + + # bug #236205 + rm -f "${WORKDIR}"/maps/Info/combine.pl || die + ln -s "${WORKDIR}"/arch "${S}"/lib || die + + eapply "${FILESDIR}"/${P}-format.patch +} + +src_configure() { + econf --disable-static +} + +src_compile() { + # work around the collect.pl locking + emake -j1 -C lib + emake +} + +src_install() { + default + + keepdir /var/lib/crossfire/{account,datafiles,maps,players,template-maps,unique-items} + + insinto /usr/share/crossfire + doins -r "${WORKDIR}"/maps + + find "${ED}" -name '*.la' -delete || die +} diff --git a/games-server/crossfire-server/crossfire-server-1.75.0-r1.ebuild b/games-server/crossfire-server/crossfire-server-1.75.0-r1.ebuild new file mode 100644 index 000000000000..b95322dd9d64 --- /dev/null +++ b/games-server/crossfire-server/crossfire-server-1.75.0-r1.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_P="${P/-server/}" +DESCRIPTION="Server for the crossfire clients" +HOMEPAGE="https://crossfire.real-time.com/" +SRC_URI="https://downloads.sourceforge.net/crossfire/crossfire-server/${PV}/crossfire-${PV}.tar.gz + https://downloads.sourceforge.net/crossfire/crossfire-maps/${PV}/crossfire-maps-${PV}.tar.gz" +DEPEND="${RDEPEND}" +S="${WORKDIR}/${MY_P}" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="X" +RESTRICT="test" + +RDEPEND=" + net-misc/curl + virtual/zlib:= + virtual/libcrypt:= + X? ( + x11-libs/libXaw + media-libs/libpng:0= + ) +" + +PATCHES=( "${FILESDIR}/${P}-incompatible-func-pointers.patch" ) + +src_prepare() { + default + + # bug #236205 + rm -f "${WORKDIR}"/maps/Info/combine.pl || die +# ln -s "${WORKDIR}"/arch "${S}"/lib || die + + eapply "${FILESDIR}"/${P}-format.patch +} + +src_compile() { + # work around the collect.pl locking + emake -j1 -C lib + emake +} + +src_install() { + default + + keepdir /var/lib/crossfire/{account,datafiles,maps,players,template-maps,unique-items} + + insinto /usr/share/crossfire + doins -r "${WORKDIR}"/maps + + find "${ED}" -name '*.la' -delete || die +} diff --git a/games-server/crossfire-server/files/crossfire-server-1.71.0-format.patch b/games-server/crossfire-server/files/crossfire-server-1.71.0-format.patch new file mode 100644 index 000000000000..afed04da57f4 --- /dev/null +++ b/games-server/crossfire-server/files/crossfire-server-1.71.0-format.patch @@ -0,0 +1,20 @@ +--- a/server/c_chat.c.old 2015-12-15 21:35:30.024866220 +0100 ++++ b/server/c_chat.c 2015-12-15 21:36:58.479266312 +0100 +@@ -483,7 +483,7 @@ + { "You spit over your left shoulder.", "%s spits over his left shoulder." }, + { "Strut your stuff.", "%s struts proudly." }, + { NULL, NULL }, +- { "%s patiently twiddles his thumbs.", "You patiently twiddle your thumbs." }, ++ { "You patiently twiddle your thumbs.", "%s patiently twiddles his thumbs." }, + { "You wave.", "%s waves happily." }, + { "You whistle appreciatively.", "%s whistles appreciatively." }, + { "Have you got something in your eye?", "%s winks suggestively." }, +@@ -645,7 +645,7 @@ + + if (*params == '\0') { + if (emotion > EMOTE_FIRST && emotion < EMOTE_LAST && single_emotes[emotion - 1][0] != NULL) { +- snprintf(buf, sizeof(buf), single_emotes[emotion - 1][0]); ++ snprintf(buf, sizeof(buf), "%s", single_emotes[emotion - 1][0]); + snprintf(buf2, sizeof(buf2), single_emotes[emotion - 1][1], op->name); + } else { + snprintf(buf, sizeof(buf), "You are a nut."); diff --git a/games-server/crossfire-server/files/crossfire-server-1.75.0-format.patch b/games-server/crossfire-server/files/crossfire-server-1.75.0-format.patch new file mode 100644 index 000000000000..f051dc9f48b6 --- /dev/null +++ b/games-server/crossfire-server/files/crossfire-server-1.75.0-format.patch @@ -0,0 +1,11 @@ +--- a/server/c_chat.c 2024-06-24 08:49:34.803705760 -0000 ++++ b/server/c_chat.c 2024-06-24 08:50:21.532557066 -0000 +@@ -651,7 +651,7 @@ + const char *self_reply; + if (emotion > EMOTE_FIRST && emotion < EMOTE_LAST && single_emotes[emotion - 1][0] != NULL) { + self_reply = single_emotes[emotion - 1][0]; +- snprintf(buf2, sizeof(buf2), single_emotes[emotion - 1][1], op->name); ++ snprintf(buf2, sizeof(buf2), "%s", single_emotes[emotion - 1][1], op->name); + } else { + self_reply = "You are a nut."; + snprintf(buf2, sizeof(buf2), "%s dances with glee.", op->name); diff --git a/games-server/crossfire-server/files/crossfire-server-1.75.0-incompatible-func-pointers.patch b/games-server/crossfire-server/files/crossfire-server-1.75.0-incompatible-func-pointers.patch new file mode 100644 index 000000000000..d4a13c415efc --- /dev/null +++ b/games-server/crossfire-server/files/crossfire-server-1.75.0-incompatible-func-pointers.patch @@ -0,0 +1,175 @@ +Struct wanted (void)() function pointers. GCC-15 says no. +We compromised on (void)(const char*) and giving no argument to functions +that take no argument. Hopefully, when someone upstream adds +a function with num_args > 1, it would be a problem of upstream +https://bugs.gentoo.org/949574 +--- a/include/libproto.h ++++ b/include/libproto.h +@@ -64,7 +64,7 @@ + extern int64_t new_exp(const object *ob); + extern int has_ability(const object *ob); + extern void init_experience(void); +-extern void dump_experience(void); ++extern void dump_experience(const char* v); + extern void free_experience(void); + /* friend.c */ + extern void add_friendly_object(object *op); +--- a/include/sproto.h ++++ b/include/sproto.h +@@ -458,7 +458,7 @@ + void quest_set_player_state(player *pl, sstring quest_code, int state); + int quest_was_completed(player *pl, sstring quest_code); + void command_quest(object *op, const char *params); +-void dump_quests(void); ++void dump_quests(const char* v); + void free_quest(void); + void free_quest_definitions(void); + void quest_send_initial_states(player *pl); +--- a/server/init.c ++++ b/server/init.c +@@ -33,7 +33,7 @@ + #include "server.h" + #include "sproto.h" + +-static void help(void); ++static void help(const char* v); + static void init_beforeplay(void); + static void init_startup(void); + static void init_signals(void); +@@ -46,73 +46,73 @@ + * Command line option: set logfile name. + * @param val new name. + */ +-static void set_logfile(char *val) { ++static void set_logfile(const char *val) { + settings.logfilename = val; + } + + /** Command line option: show version. */ +-static void call_version(void) { ++static void call_version(const char* v) { + puts(FULL_VERSION); + exit(EXIT_SUCCESS); + } + + /** Command line option: debug flag. */ +-static void set_debug(void) { ++static void set_debug(const char* v) { + settings.debug = llevDebug; + } + + /** Command line option: unset debug flag. */ +-static void unset_debug(void) { ++static void unset_debug(const char* v) { + settings.debug = llevInfo; + } + + /** Command line option: monster debug flag. */ +-static void set_mondebug(void) { ++static void set_mondebug(const char* v) { + settings.debug = llevMonster; + } + + /** Command line option: dump monsters. */ +-static void set_dumpmon1(void) { ++static void set_dumpmon1(const char* v) { + settings.dumpvalues = 1; + } + + /** Command line option: dump abilities. */ +-static void set_dumpmon2(void) { ++static void set_dumpmon2(const char* v) { + settings.dumpvalues = 2; + } + + /** Command line option: dump artifacts. */ +-static void set_dumpmon3(void) { ++static void set_dumpmon3(const char* v) { + settings.dumpvalues = 3; + } + + /** Command line option: dump spells. */ +-static void set_dumpmon4(void) { ++static void set_dumpmon4(const char* v) { + settings.dumpvalues = 4; + } + + /** Command line option: ? */ +-static void set_dumpmon5(void) { ++static void set_dumpmon5(const char* v) { + settings.dumpvalues = 5; + } + + /** Command line option: dump races. */ +-static void set_dumpmon6(void) { ++static void set_dumpmon6(const char* v) { + settings.dumpvalues = 6; + } + + /** Command line option: dump alchemy. */ +-static void set_dumpmon7(void) { ++static void set_dumpmon7(const char* v) { + settings.dumpvalues = 7; + } + + /** Command line option: dump gods. */ +-static void set_dumpmon8(void) { ++static void set_dumpmon8(const char* v) { + settings.dumpvalues = 8; + } + + /** Command line option: dump alchemy costs. */ +-static void set_dumpmon9(void) { ++static void set_dumpmon9(const char* v) { + settings.dumpvalues = 9; + } + +@@ -246,7 +246,7 @@ + /** + * Dump all animations, then exit. + */ +-static void server_dump_animations(void) { ++static void server_dump_animations(const char* v) { + dump_animations(); + cleanup(); + } +@@ -267,7 +267,7 @@ + const char *cmd_option; /**< How it is called on the command line. */ + uint8_t num_args; /**< Number or args it takes. */ + uint8_t pass; /**< What pass this should be processed on. @todo describe passes :) */ +- void (*func)(); /**< function to call when we match this. ++ void (*func)(const char* v); /**< function to call when we match this. + * if num_args is true, than that gets passed + * to the function, otherwise nothing is passed + */ +@@ -1056,7 +1056,7 @@ + /** + * Display the command line options and exits. + */ +-static void help(void) { ++static void help(const char* v) { + printf("Usage: crossfire-server [options]\n\n"); + + printf("Options:\n"); +--- a/common/exp.c ++++ b/common/exp.c +@@ -247,7 +247,7 @@ + * Dump the experience table, then calls exit() - useful in terms of debugging to make sure the + * format of the exp_table is correct. + */ +-void dump_experience(void) { ++void dump_experience(const char* v) { + int i; + + for (i = 1; i <= settings.max_level; i++) { +--- a/server/quest.c ++++ b/server/quest.c +@@ -1303,7 +1303,7 @@ + * Dump all of the quests, then calls exit() - useful in terms of debugging to make sure that + * quests are set up and recognised correctly. + */ +-void dump_quests(void) { ++void dump_quests(const char* v) { + quest_load_definitions(); + output_quests(NULL, 0); + exit(0); diff --git a/games-server/crossfire-server/metadata.xml b/games-server/crossfire-server/metadata.xml new file mode 100644 index 000000000000..183ecc5ceeeb --- /dev/null +++ b/games-server/crossfire-server/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>games@gentoo.org</email> + <name>Gentoo Games Project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/games-server/etqw-ded/Manifest b/games-server/etqw-ded/Manifest new file mode 100644 index 000000000000..e73506fdd1bd --- /dev/null +++ b/games-server/etqw-ded/Manifest @@ -0,0 +1 @@ +DIST ETQW-server-1.5-full.x86.run 452679053 BLAKE2B 01721b7a288671873a87164e438cb4bf3483f86fe282fc0a306043bb44e18bf126736e57f6ee5ec0880057b7f53119e1b2f6c9ddd625f9083a01f3e12c613bef SHA512 8daa5f192330be09b476d9633af79085f8b45d64e99fb50f6dc2ded085171f3d310218308b813bc7fc9a56b5fb34d52d72248a1e926a0e499ce096690407b0cd diff --git a/games-server/etqw-ded/etqw-ded-1.5-r1.ebuild b/games-server/etqw-ded/etqw-ded-1.5-r1.ebuild new file mode 100644 index 000000000000..44d2f825a9c6 --- /dev/null +++ b/games-server/etqw-ded/etqw-ded-1.5-r1.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit wrapper + +DESCRIPTION="Enemy Territory: Quake Wars dedicated server" +HOMEPAGE="https://www.splashdamage.com/content/et-quake-wars-standalone-server-linux" +SRC_URI="ETQW-server-${PV}-full.x86.run" +S="${WORKDIR}"/data + +LICENSE="ETQW" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +RESTRICT="bindist fetch strip" + +RDEPEND="sys-libs/glibc" +BDEPEND="app-arch/unzip" + +dir=/opt/${PN} + +QA_PREBUILT="${dir#1}/pb/*.so + ${dir#1}/*.x86 + ${dir#1}/*.so*" + +pkg_nofetch() { + einfo "Please download ${A} from ${HOMEPAGE} and copy it into your DISTDIR directory." +} + +src_unpack() { + tail -c +194885 "${DISTDIR}"/${A} > ${A}.zip || die + unpack ./${A}.zip + rm -f ${A}.zip || die +} + +src_install() { + insinto "${dir}" + doins -r base pb *.txt + exeinto "${dir}" + doexe etqwded.x86 *.so* + make_wrapper ${PN} ./etqwded.x86 "${dir}" "${dir}" +} diff --git a/games-server/etqw-ded/metadata.xml b/games-server/etqw-ded/metadata.xml new file mode 100644 index 000000000000..183ecc5ceeeb --- /dev/null +++ b/games-server/etqw-ded/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>games@gentoo.org</email> + <name>Gentoo Games Project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/games-server/mednafen-server/Manifest b/games-server/mednafen-server/Manifest new file mode 100644 index 000000000000..b547d25c4273 --- /dev/null +++ b/games-server/mednafen-server/Manifest @@ -0,0 +1 @@ +DIST mednafen-server-0.5.2.tar.xz 112512 BLAKE2B 7bfd17ca44286f362ca8208afc6e3ff7cfa7c6d57f4c6e48c3b6e4b627f795c59e2fe55c44a9d174f2fa93033fc56c658205181e5e35f55f997878b1b57019d4 SHA512 a9928277c011e2c17d6799b4fdccb761d366d01560dbf5165f7e280fa4c60b7d1705b2107561bb128f77089b319cadf10639dba65a59b91629864baae42c845c diff --git a/games-server/mednafen-server/files/mednafen-server-0.5.2-m4-macro-include.patch b/games-server/mednafen-server/files/mednafen-server-0.5.2-m4-macro-include.patch new file mode 100644 index 000000000000..e204595eb7fd --- /dev/null +++ b/games-server/mednafen-server/files/mednafen-server-0.5.2-m4-macro-include.patch @@ -0,0 +1,32 @@ +From 2770dffa54f73cab801c96ff85f34dbe8abc5e47 Mon Sep 17 00:00:00 2001 +From: Matt Jolly <kangie@gentoo.org> +Date: Mon, 14 Oct 2024 15:58:37 +1000 +Subject: [PATCH] games-server/mednafen-server: Explicitly include + `ax_cflags_gcc_option.m4` + +We need to call `eautoreconf` in `src_prepare` to +fix some C99/C23 issues in the shipped configure file. + +In order to do this, we need to explicitly include +`ax_cflags_gcc_option.m4` in `configure.ac`. I'm +not sure how this worked previously but it doesn't +anymore. + +--- + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configure.ac b/configure.ac +index 0da3ab4..483f837 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -8,6 +8,7 @@ AC_CANONICAL_HOST + AC_CANONICAL_TARGET + AM_INIT_AUTOMAKE([mednafen_server], $MEDNAFEN_SERVER_VERSION) + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES]) ++m4_include([m4/ax_cflags_gcc_option.m4]) + AM_CONFIG_HEADER([include/config.h:include/config.h.in]) + + AC_PROG_CC +-- +2.46.2 diff --git a/games-server/mednafen-server/mednafen-server-0.5.2-r3.ebuild b/games-server/mednafen-server/mednafen-server-0.5.2-r3.ebuild new file mode 100644 index 000000000000..b478d846fc6d --- /dev/null +++ b/games-server/mednafen-server/mednafen-server-0.5.2-r3.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Server for Mednafen emulator" +HOMEPAGE="https://mednafen.github.io/releases/" +SRC_URI="https://mednafen.github.io/releases/files/${P}.tar.xz" +S="${WORKDIR}/${PN}" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +PATCHES=( + "${FILESDIR}"/${P}-m4-macro-include.patch +) + +src_prepare() { + default + eautoreconf + + mv standard.conf standard.conf.example || die + mv run.sh run.sh.example || die +} + +src_install() { + dobin src/${PN} + dodoc README *.example +} + +pkg_postinst() { + einfo "Example config file and run file can be found in" + einfo "/usr/share/doc/${PF}/" +} diff --git a/games-server/mednafen-server/metadata.xml b/games-server/mednafen-server/metadata.xml new file mode 100644 index 000000000000..183ecc5ceeeb --- /dev/null +++ b/games-server/mednafen-server/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>games@gentoo.org</email> + <name>Gentoo Games Project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/games-server/minecraft-server/Manifest b/games-server/minecraft-server/Manifest new file mode 100644 index 000000000000..53c2ff24a1fa --- /dev/null +++ b/games-server/minecraft-server/Manifest @@ -0,0 +1 @@ +DIST minecraft-server-26.1.2.jar 60417480 BLAKE2B 74c368db6c1c147ed30c0eda0fab57f83c372f9ebdc17b4a2d81904f14d17a12dec5a799bd8ab51e83a0bf69a9cf6fd81d8351cc6ccf26947dc981f70cc1ba36 SHA512 2b80bb3336a0f52320725c691d0b72a91343af27c1d03d5544c5cc4889b42c03d8758402da94fcacaaf0dfac0346db48ed22689fc3f489acd64c99e2054ebf8a diff --git a/games-server/minecraft-server/files/README.gentoo-r1 b/games-server/minecraft-server/files/README.gentoo-r1 new file mode 100644 index 000000000000..903ef5a7d9d7 --- /dev/null +++ b/games-server/minecraft-server/files/README.gentoo-r1 @@ -0,0 +1,26 @@ +This package provides an init script and a conf file. +You don't have to modify those files directly, +but instead you can make a symlink of that init script +and a copy of that conf file. +You would do this for every server, you want to setup. + +For example, you wan't to setup an world called 'gentoo', +you would do: + +cd /etc/init.d +ln -s minecraft-server minecraft-server.gentoo + +cd /etc/conf.d +cp minecraft-server minecraft-server.gentoo + +After that, make your settings in +/etc/conf.d/minecraft-server.gentoo. + +If you don't make a symlink, but use the default scripts, +your world will be called 'main'. + +To interact with the console of the corresponding world, +you can use the extra command attach: + +rc-service minecraft-server attach +rc-service minecraft-server.gentoo attach diff --git a/games-server/minecraft-server/files/minecraft-server-bin-r1 b/games-server/minecraft-server/files/minecraft-server-bin-r1 new file mode 100644 index 000000000000..ff1b8ebb0da4 --- /dev/null +++ b/games-server/minecraft-server/files/minecraft-server-bin-r1 @@ -0,0 +1,21 @@ +#!/bin/sh + +# Options +JAVA_JAR="/usr/share/minecraft-server/lib/minecraft-server.jar" +JAVA_OPTS="$@" +MINECRAFT_OPTS="nogui" + +# Choose JAVA +set -- /opt/openjdk-bin-25.* /usr/lib*/openjdk-25 +while ! [ -d "${1}" ]; do + if [ ${#} -eq 1 ]; then + echo "Error: No JAVA 25 runtime found!" + exit 1 + fi + + shift +done +JAVA_HOME="${1}" + +# Launch Minecraft server +"${JAVA_HOME}"/bin/java ${JAVA_OPTS} -jar "${JAVA_JAR}" "${MINECRAFT_OPTS}" diff --git a/games-server/minecraft-server/files/minecraft-server.confd-r1 b/games-server/minecraft-server/files/minecraft-server.confd-r1 new file mode 100644 index 000000000000..8b380349e9ac --- /dev/null +++ b/games-server/minecraft-server/files/minecraft-server.confd-r1 @@ -0,0 +1,12 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Dtach options, which will used, when the `attach` extra command is called. +# By default, CTRL+D is used, and no redraw is done, +# when you want to detach from the attached console. +DTACH_OPTS="-e '^D' -r none" + +# Java options for your started server +# You should at least define some memory settings (-Xms, -Xmx), +# for maximum memory, as the java default is far to low for Minecraft +MINECRAFT_OPTS="-Xms1024m -Xmx1024m" diff --git a/games-server/minecraft-server/files/minecraft-server.initd-r6 b/games-server/minecraft-server/files/minecraft-server.initd-r6 new file mode 100644 index 000000000000..4a4ccbfb2218 --- /dev/null +++ b/games-server/minecraft-server/files/minecraft-server.initd-r6 @@ -0,0 +1,63 @@ +#!/sbin/openrc-run +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +if [ "${SVCNAME}" = "minecraft-server" ]; then + instance="main" +else + instance="${SVCNAME#minecraft-server.}" +fi + +dtach_tmpfile="$(mktemp -u)" +minecraft_command="/usr/bin/minecraft-server" +minecraft_logs="/var/log/minecraft-server" +minecraft_logs_instance="${minecraft_logs}/${instance}" +minecraft_path="/var/lib/minecraft-server" +minecraft_path_instance="${minecraft_path}/${instance}" +name="Minecraft Server (World: ${instance})" +pidfile="/run/minecraft-server.${instance}.pid" +start_stop_daemon_args="--env JAVA_OPTS='${MINECRAFT_OPTS}'" + +description_attach="Attaches to the session (interactive console) of the Minecraft server" +directory="${minecraft_path_instance}" +extra_started_commands="attach" + +command="/usr/bin/dtach" +command_background="true" +command_args="-N ${dtach_tmpfile} ${minecraft_command} ${MINECRAFT_OPTS}" +command_group="minecraft" +command_user="minecraft" + +depend() { + use net +} + +start_pre() { + checkpath -d -o "${command_user}:${command_group}" -q "${minecraft_path}" "${minecraft_path_instance}" + + checkpath -f -o "${command_user}:${command_group}" -q "${minecraft_path_instance}"/eula.txt + echo "eula=true" > "${minecraft_path_instance}"/eula.txt + + checkpath -d -o "${command_user}:${command_group}" -q "${minecraft_logs}" "${minecraft_logs_instance}" + + if [ ! -L "${minecraft_path_instance}"/logs ]; then + cd "${minecraft_path_instance}" && ln -s ../../../log/minecraft-server/"${instance}" logs + fi + + if [ -z "${MINECRAFT_OPTS}" ]; then + eerror "You must define 'MINECRAFT_OPTS' in '/etc/conf.d/${SVCNAME}'!" + return 1 + fi +} + +attach() { + pidnumber="$(cat ${pidfile})" + dtach_tmpfile="$(cat /proc/${pidnumber}/cmdline | tr '\0' ' ' | awk '{print $3}')" + + if [ -S "${dtach_tmpfile}" ]; then + eval "${command}" -a "${dtach_tmpfile}" "${DTACH_OPTS}" + else + eerror "The determined socket file for dtach could not be found!" + eerror "Did the process crash?" + fi +} diff --git a/games-server/minecraft-server/files/minecraft-server.service b/games-server/minecraft-server/files/minecraft-server.service new file mode 100644 index 000000000000..ad9167e5b1c9 --- /dev/null +++ b/games-server/minecraft-server/files/minecraft-server.service @@ -0,0 +1,16 @@ +[Unit] +Description=Minecraft Server (World: %I) +After=network.target + +[Service] +User=minecraft +Group=minecraft +WorkingDirectory=-/var/lib/minecraft-server/%I +PIDFile=/run/minecraft-server.%I.pid +ExecStartPre=!/bin/mkdir -p /var/lib/minecraft-server/%I +ExecStartPre=!/bin/chown -R minecraft:minecraft /var/lib/minecraft-server/%I +ExecStartPre=/bin/sh -c 'echo "eula=true" > /var/lib/minecraft-server/%I/eula.txt' +ExecStart=/bin/sh -c '/usr/bin/dtach -N $(mktemp -u) /usr/bin/minecraft-server' + +[Install] +WantedBy=multi-user.target diff --git a/games-server/minecraft-server/metadata.xml b/games-server/minecraft-server/metadata.xml new file mode 100644 index 000000000000..3bfb92f40be8 --- /dev/null +++ b/games-server/minecraft-server/metadata.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>conikost@gentoo.org</email> + <name>Conrad Kostecki</name> + </maintainer> + <longdescription lang="en"> + Minecraft is a sandbox video game created and designed + by Swedish game designer Markus "Notch" Persson, + and later fully developed and published by Mojang. + This is the headless server for Minecraft. + </longdescription> + <longdescription lang="fr"> + Minecraft est un jeu vidéo bac à sable créé et conçu par + le développeur Markus Person (alias "Notch"), et plus + tard, pleinement maintenu et édité par Mojang. + Ceci est le serveur "headless" pour Minecraft. + </longdescription> + <upstream> + <bugs-to>https://bugs.mojang.com/projects/MC/issues</bugs-to> + <maintainer status="active"> + <name>Mojang</name> + </maintainer> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/games-server/minecraft-server/minecraft-server-26.1.2.ebuild b/games-server/minecraft-server/minecraft-server-26.1.2.ebuild new file mode 100644 index 000000000000..bc3600a6d8fb --- /dev/null +++ b/games-server/minecraft-server/minecraft-server-26.1.2.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +EGIT_COMMIT="97ccd4c0ed3f81bbb7bfacddd1090b0c56f9bc51" +README_GENTOO_SUFFIX="-r1" + +inherit readme.gentoo-r1 java-pkg-2 systemd + +DESCRIPTION="The official server for the sandbox video game" +HOMEPAGE="https://www.minecraft.net/" +SRC_URI="https://piston-data.mojang.com/v1/objects/${EGIT_COMMIT}/server.jar -> ${P}.jar" +S="${WORKDIR}" + +LICENSE="Mojang" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +RESTRICT="bindist mirror" + +RDEPEND=" + acct-group/minecraft + acct-user/minecraft + app-misc/dtach + || ( + dev-java/openjdk:25 + dev-java/openjdk-bin:25 + ) +" + +src_unpack() { + cp "${DISTDIR}/${A}" "${WORKDIR}" || die +} + +src_compile() { + :; +} + +src_install() { + newbin "${FILESDIR}"/minecraft-server-bin-r1 minecraft-server + + java-pkg_newjar minecraft-server-${PV}.jar minecraft-server.jar + + newinitd "${FILESDIR}"/minecraft-server.initd-r6 minecraft-server + newconfd "${FILESDIR}"/minecraft-server.confd-r1 minecraft-server + systemd_newunit "${FILESDIR}"/minecraft-server.service minecraft-server@.service + + readme.gentoo_create_doc +} + +pkg_postinst() { + readme.gentoo_print_elog +} diff --git a/games-server/monopd/Manifest b/games-server/monopd/Manifest new file mode 100644 index 000000000000..63a7480aa1da --- /dev/null +++ b/games-server/monopd/Manifest @@ -0,0 +1 @@ +DIST monopd-0.10.4.tar.gz 203728 BLAKE2B a32fc2e9fc1e3fb7b615b9fac546056d5c16752ed47e0b2d91868b007042a98ddd7ca1a5f681ee7a8d0e302eb052898f4303b90e3443ae172b6b53a20bbee80d SHA512 60fa9669cf28ff09890a4476a51c1b55c30b160b13f5e083c6302454d3ac38200870269c8982dc627492c4b610ed883a25bf0fc8568513dcc989a83b9805380a diff --git a/games-server/monopd/files/monopd-0.10.4-fixes.patch b/games-server/monopd/files/monopd-0.10.4-fixes.patch new file mode 100644 index 000000000000..5157231e6773 --- /dev/null +++ b/games-server/monopd/files/monopd-0.10.4-fixes.patch @@ -0,0 +1,82 @@ +From 0a88af9a7a5feba9944ea009eddaac1e89315539 Mon Sep 17 00:00:00 2001 +From: James Le Cuirot <chewi@gentoo.org> +Date: Sun, 28 Jul 2024 22:24:38 +0100 +Subject: [PATCH 1/3] systemd: Correct path to monopd binary + +It is installed to /usr/bin, not /usr/sbin. +--- + doc/systemd/monopd.service | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/doc/systemd/monopd.service b/doc/systemd/monopd.service +index eace183..3f370d4 100644 +--- a/doc/systemd/monopd.service ++++ b/doc/systemd/monopd.service +@@ -3,7 +3,7 @@ Description=game server for board games like GtkAtlantic + + [Service] + Type=notify +-ExecStart=/usr/sbin/monopd ++ExecStart=/usr/bin/monopd + User=nobody + Group=nogroup + +-- +2.45.2 + + +From fb41002ae3b94c6d9b3587ed291810baf04af19f Mon Sep 17 00:00:00 2001 +From: James Le Cuirot <chewi@gentoo.org> +Date: Sun, 28 Jul 2024 22:26:21 +0100 +Subject: [PATCH 2/3] autoconf: Don't mix up CFLAGS with CXXFLAGS + +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index fa0de41..e388422 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -9,7 +9,7 @@ AC_LANG(C++) + AC_SEARCH_LIBS([strerror], [cposix]) + AC_SUBST(CFLAGS, $CFLAGS) + AC_PROG_CC +-AC_SUBST(CXXFLAGS, $CFLAGS) ++AC_SUBST(CXXFLAGS, $CXXFLAGS) + AC_PROG_CXX + + # Checks for libraries. +-- +2.45.2 + + +From 770eb6f7a82012776071d7af4e2c5b54d27ffb50 Mon Sep 17 00:00:00 2001 +From: James Le Cuirot <chewi@gentoo.org> +Date: Sun, 28 Jul 2024 22:27:13 +0100 +Subject: [PATCH 3/3] autoconf: Fix appending of C(XX)FLAGS + +configure uses /bin/sh, which may be a pure POSIX shell like dash rather +than bash. += is not POSIX compliant. +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index e388422..24cc00c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -41,8 +41,8 @@ AS_IF([test "x$USE_SYSTEMD_DAEMON" != "xno"], [ + ]) + + if test "x$GCC" = "xyes"; then \ +- CFLAGS+=" -Wall -Wextra"; \ +- CXXFLAGS+=" -Wall -Wextra"; \ ++ CFLAGS="${CFLAGS} -Wall -Wextra"; \ ++ CXXFLAGS="${CXXFLAGS} -Wall -Wextra"; \ + fi + + AC_CONFIG_FILES([ +-- +2.45.2 + diff --git a/games-server/monopd/files/monopd.initd b/games-server/monopd/files/monopd.initd new file mode 100644 index 000000000000..7a6a090ab6f2 --- /dev/null +++ b/games-server/monopd/files/monopd.initd @@ -0,0 +1,12 @@ +#!/sbin/openrc-run +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +command="monopd" +command_background="true" +command_user="nobody:nogroup" +pidfile="/run/${RC_SVCNAME}.pid" + +depend() { + use net +} diff --git a/games-server/monopd/metadata.xml b/games-server/monopd/metadata.xml new file mode 100644 index 000000000000..0fdc030c9084 --- /dev/null +++ b/games-server/monopd/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>games@gentoo.org</email> + <name>Gentoo Games Project</name> + </maintainer> + <upstream> + <remote-id type="cpe">cpe:/a:monopd:monopd</remote-id> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/games-server/monopd/monopd-0.10.4.ebuild b/games-server/monopd/monopd-0.10.4.ebuild new file mode 100644 index 000000000000..386dab481c7d --- /dev/null +++ b/games-server/monopd/monopd-0.10.4.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic systemd + +DESCRIPTION="Server for the GtkAtlantic board game" +HOMEPAGE="https://gtkatlantic.gradator.net" +SRC_URI="https://download.tuxfamily.org/gtkatlantic/monopd/${P}.tar.gz" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="systemd" + +RDEPEND=" + systemd? ( sys-apps/systemd ) +" + +DEPEND=" + ${RDEPEND} + >=dev-cpp/muParser-2 + dev-libs/utfcpp +" + +PATCHES=( + "${FILESDIR}"/${P}-fixes.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + append-cppflags -I"${ESYSROOT}/usr/include/utf8cpp" + econf $(use_with systemd systemd-daemon) +} + +src_install() { + default + newinitd "${FILESDIR}"/${PN}.initd ${PN} + use systemd && systemd_dounit doc/systemd/${PN}.s* +} diff --git a/games-server/mtavc/Manifest b/games-server/mtavc/Manifest new file mode 100644 index 000000000000..4dbce6059311 --- /dev/null +++ b/games-server/mtavc/Manifest @@ -0,0 +1 @@ +DIST MTAServer0_5-linux.tar.gz 229056 BLAKE2B d46784a532046bfe28bb2110470ad8c07dc2c9d1f68366663bdce519f3214bcf74bf4975495a4013b8f9c104921a52a42fe7d6599bf6a012171a1d120e6678b1 SHA512 eed0ec109427c53c9627826f1977b4a2454be0130d445b2ff7288e3f93b93d76d21b22ffdb706d306009baffd37bd317f9573a9650477e25146ff5d3b49f9c1f diff --git a/games-server/mtavc/files/mtavc b/games-server/mtavc/files/mtavc new file mode 100644 index 000000000000..00b76f9d6f18 --- /dev/null +++ b/games-server/mtavc/files/mtavc @@ -0,0 +1,3 @@ +#!/bin/sh +cd GENTOO_DIR +exec ./MTAServer "$@" diff --git a/games-server/mtavc/metadata.xml b/games-server/mtavc/metadata.xml new file mode 100644 index 000000000000..183ecc5ceeeb --- /dev/null +++ b/games-server/mtavc/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>games@gentoo.org</email> + <name>Gentoo Games Project</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/games-server/mtavc/mtavc-0.5-r2.ebuild b/games-server/mtavc/mtavc-0.5-r2.ebuild new file mode 100644 index 000000000000..1acd146bf506 --- /dev/null +++ b/games-server/mtavc/mtavc-0.5-r2.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="dedicated server for GTA3 multiplayer" +HOMEPAGE="http://mtavc.com/" +SRC_URI="http://files.gonnaplay.com/201/MTAServer$(ver_rs 0-1 '_')-linux.tar.gz" +S="${WORKDIR}" + +LICENSE="MTA-0.5" +SLOT="0" +KEYWORDS="-* ~x86" +RESTRICT="bindist mirror" + +RDEPEND="sys-libs/glibc + sys-libs/libstdc++-v3:5" + +QA_PREBUILT="/opt/${PN}/MTAServer" +QA_EXECSTACK="/opt/${PN}/MTAServer" + +src_prepare() { + default + + sed -i 's:NoName:Gentoo:' mtaserver.conf || die +} + +src_install() { + local dir=/opt/${PN} + local files="banned.lst motd.txt mtaserver.conf" + local f + + dobin "${FILESDIR}"/mtavc + sed -i -e "s:GENTOO_DIR:${dir}:" "${D}/usr/bin"/mtavc + + exeinto "${dir}" + newexe MTAServer${PV} MTAServer + insinto /etc/${PN} + doins ${files} + dodoc README CHANGELOG + for f in ${files} ; do + dosym ../../etc/${PN}/${f} "${dir}"/${f} + done +} diff --git a/games-server/steamcmd/Manifest b/games-server/steamcmd/Manifest new file mode 100644 index 000000000000..e001f61616cb --- /dev/null +++ b/games-server/steamcmd/Manifest @@ -0,0 +1 @@ +DIST steamcmd-1.0.tar.gz 2428561 BLAKE2B c51dbb8c7731222eb748508b8a84a4cbda55168c85116078074bd0da85018a344ca088b7af41a07a96c15e64d0aeb28fb90cd85d99f444e9425f5a326c1823fe SHA512 b37debfa45e5578cc065924770258a026adad339aae86da1a66e71ac4ee80d2ddbca9060ca4c734affd2c6902635e7b32e2b3efe11bb600969654b3abeb3839e diff --git a/games-server/steamcmd/files/README.gentoo b/games-server/steamcmd/files/README.gentoo new file mode 100644 index 000000000000..70f027bb8044 --- /dev/null +++ b/games-server/steamcmd/files/README.gentoo @@ -0,0 +1,42 @@ +Before you can start installing your favourite dedicated server, +you must let SteamCMD do update itself. +You can do this, by running SteamCMD itself: + +cd /opt/steamcmd +runuser -l steamcmd -c './steamcmd.sh' -s /bin/bash + +On the first run, you will see, that SteamCMD starts updating itself. +After that, SteamCMD is ready to go +for installing your favourite dedicated server. + +Please keep in mind: You should not run SteamCMD as root! + +This package provides an init script and a conf file. +Don't modify those files directly, +but instead make a symlink of that init script +and a copy of that conf file. +You would do this for every server, you want to setup. + +For example, you wan't to setup an old Counter-Strike 1.6 server, +you would do: + +cd /etc/init.d +ln -s steamcmd steamcmd.cstrike + +cd /etc/conf.d +cp steamcmd steamcmd.cstrike + +After that, make your settings in /etc/conf.d/steamcmd.cstrike + +In order to install with SteamCMD a dedicated server, +for example CS 1.6, please run: + +cd /opt/steamcmd +./steamcmd.sh +login anonymous +force_install_dir /opt/steamcmd/hlds +app_set_config 90 mod cstrike +app_update 90 validate +quit + +While you can use any path for '+force_install_dir', it's recommended to use: +'/opt/steamcmd/hlds' for older HL1 based mods. +'/opt/steamcmd/srcds' for newer HL2 based mods. + +For more information, please visit the Valve Developer Community: +https://developer.valvesoftware.com/wiki/SteamCMD diff --git a/games-server/steamcmd/files/steamcmd.confd-r2 b/games-server/steamcmd/files/steamcmd.confd-r2 new file mode 100644 index 000000000000..5cd84e169f5a --- /dev/null +++ b/games-server/steamcmd/files/steamcmd.confd-r2 @@ -0,0 +1,20 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Dtach options, which will used, when the `attach` extra command is called. +# By default, CTRL+D is used, and no signal is send, +# when you want to detach from the attached console. +DTACH_OPTS="-e '^D' -r none" + +# Specifies, which server binary is used. +# This could be 'hlds_run' or 'srcds_run', depending on your game. +# STEAMCMD_BINARY="hlds_run" + +# Path to the files of your started server. +# It's recommended to use: +# '/opt/steamcmd/hlds' for older HL1 based mods. +# '/opt/steamcmd/srcds' for newer HL2 based mods. +# STEAMCMD_PATH="/opt/steamcmd/hlds" + +# Options for your server binary. +# STEAMCMD_OPTS="-game valve +ip 127.0.0.1 +maxplayers 32 +map crossfire -pingboost 3" diff --git a/games-server/steamcmd/files/steamcmd.initd-r2 b/games-server/steamcmd/files/steamcmd.initd-r2 new file mode 100644 index 000000000000..4564d4526813 --- /dev/null +++ b/games-server/steamcmd/files/steamcmd.initd-r2 @@ -0,0 +1,47 @@ +#!/sbin/openrc-run +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +if [ "${SVCNAME}" = "steamcmd" ]; then + instance="main" +else + instance="${SVCNAME#steamcmd.}" +fi + +dtach_tmpfile="$(mktemp -u)" +name="SteamCMD (Mod: ${instance})" +pidfile="/run/steamcmd.${instance}.pid" +start_stop_daemon_args="--chdir ${STEAMCMD_PATH}" + +description_attach="Attaches to the session (non-interactive console) of the SteamCMD game server" +extra_started_commands="attach" + +command="/usr/bin/dtach" +command_args="-N ${dtach_tmpfile} ${STEAMCMD_PATH}/${STEAMCMD_BINARY} ${STEAMCMD_OPTS}" +command_background="true" +command_group="steamcmd" +command_user="steamcmd" + +depend() { + use net +} + +start_pre() { + if [ -z "${STEAMCMD_BINARY}" ] || [ -z "${STEAMCMD_PATH}" ]; then + eerror "One or more STEAMCMD_* variables in /etc/conf.d/${SVCNAME} are not set!" + return 1 + fi + return 0 +} + +attach() { + pidnumber="$(cat ${pidfile})" + dtach_tmpfile="$(cat /proc/${pidnumber}/cmdline | tr '\0' ' ' | awk '{print $3}')" + + if [ -S "${dtach_tmpfile}" ]; then + eval "${command}" -a "${dtach_tmpfile}" "${DTACH_OPTS}" + else + eerror "The determined socket file for dtach could not be found!" + eerror "Did the process crash?" + fi +} diff --git a/games-server/steamcmd/metadata.xml b/games-server/steamcmd/metadata.xml new file mode 100644 index 000000000000..19d8b67096ee --- /dev/null +++ b/games-server/steamcmd/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>conikost@gentoo.org</email> + <name>Conrad Kostecki</name> + </maintainer> + <longdescription> + The Steam Console Client or SteamCMD is a command-line version of the Steam client. + Its primary use is to install and update various dedicated servers available on Steam + using a command-line interface. It works with games that use the SteamPipe content system. + All games have been migrated from the deprecated HLDSUpdateTool to SteamCMD. + </longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/games-server/steamcmd/steamcmd-1.0-r4.ebuild b/games-server/steamcmd/steamcmd-1.0-r4.ebuild new file mode 100644 index 000000000000..1939a11f95a5 --- /dev/null +++ b/games-server/steamcmd/steamcmd-1.0-r4.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit readme.gentoo-r1 + +DESCRIPTION="This is the command-line version of the Steam client for dedicated servers" +HOMEPAGE="https://developer.valvesoftware.com/wiki/SteamCMD" +SRC_URI="https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}" + +LICENSE="LGPL-2.1+ Steam" +SLOT="0" +KEYWORDS="-* amd64 x86" + +RDEPEND=" + acct-group/steamcmd + acct-user/steamcmd + app-misc/dtach +" + +RESTRICT="bindist mirror" + +QA_PREBUILT=" + opt/steamcmd/linux32/libstdc++.so.6 + opt/steamcmd/linux32/steamcmd +" + +src_install() { + diropts -o steamcmd -g steamcmd + dodir /opt/steamcmd + keepdir /opt/steamcmd/{.steam,.steam/sdk32,linux32} + + exeopts -o steamcmd -g steamcmd + exeinto /opt/steamcmd + doexe steamcmd.sh + + exeopts -o steamcmd -g steamcmd + exeinto /opt/steamcmd/linux32 + doexe linux32/steamcmd linux32/libstdc++.so.6 + + newinitd "${FILESDIR}"/steamcmd.initd-r2 steamcmd + newconfd "${FILESDIR}"/steamcmd.confd-r2 steamcmd + + readme.gentoo_create_doc +} + +pkg_postinst() { + readme.gentoo_print_elog +} diff --git a/games-server/ut2004-ded/Manifest b/games-server/ut2004-ded/Manifest new file mode 100644 index 000000000000..7be18ac0efa7 --- /dev/null +++ b/games-server/ut2004-ded/Manifest @@ -0,0 +1,3 @@ +DIST dedicatedserver3339-bonuspack.zip 914213907 BLAKE2B 883253d9817b4ee7f9594bf611e9d440d7e90c8cd43d34b366cfb4e781d4ad78e2812a0aa4f5acaed4880b1bc47f0dffed6fbb0caf9cc53477c01bc92d891325 SHA512 353161a7c811ac5c688c6438e3ecfad1aa37bcfd13a3e17f2a9deaf510eda9311a423524bd4635fcf972001cfe24c1a1b71a2bb6a060c37a24351f3bce0c7f26 +DIST ut2004-lnxpatch3369-2.tar.bz2 22465217 BLAKE2B 9852f9d55804b7f2927a31be86aee1552aaebeb38d2a40fb206154c236e9d6eff47f7594024c0d9b25c7216d3ca62571b1f89f23f72ee9e135b2e6451bcb006a SHA512 0d6f26d5a811efd64be8c304e928e03f546d9a8eaba6b074843e2b7e76e0670b39df95200a2fe2040d72bbd204c7157ed0115649a5c85396a76d9e0b7ec284b1 +DIST ut2004-v3369-3-linux-dedicated.7z 5013927 BLAKE2B 72d24d7bc37c777f3697b767a03e052ad9b547005dd6da73833e439496e87a9c1ebbe01f88d62b29a41b2bf6380a3b3bd745e6883fbb6d0f2b7e52998d4af276 SHA512 3b2a7b64934a3647c02c9fec48565c5c2c35370d635b2af4059eb76587bfa13f46e6a4e14fdb0494ba7a4182497ed5963601986f4fcfa318e69a8a8a8c0178cf diff --git a/games-server/ut2004-ded/files/ut2004-ded.confd b/games-server/ut2004-ded/files/ut2004-ded.confd new file mode 100644 index 000000000000..e82238b93de0 --- /dev/null +++ b/games-server/ut2004-ded/files/ut2004-ded.confd @@ -0,0 +1,6 @@ +# User and group the server should run as. +ut2004_ded_user="nobody" +ut2004_ded_group="nobody" + +# Any extra options you want to pass to the server. +ut2004_ded_opts="DM-Deck17" diff --git a/games-server/ut2004-ded/files/ut2004-ded.initd b/games-server/ut2004-ded/files/ut2004-ded.initd new file mode 100644 index 000000000000..c4cf9810cd15 --- /dev/null +++ b/games-server/ut2004-ded/files/ut2004-ded.initd @@ -0,0 +1,13 @@ +#!/sbin/openrc-run +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +pidfile="/var/run/${RC_SVCNAME}.pid" +command_background="true" +command_user="${ut2004_ded_user}:${ut2004_ded_group}" +command="ut2004-ded" +command_args="${ut2004_ded_opts}" + +depend() { + need net +} diff --git a/games-server/ut2004-ded/metadata.xml b/games-server/ut2004-ded/metadata.xml new file mode 100644 index 000000000000..08c08db2b80a --- /dev/null +++ b/games-server/ut2004-ded/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>games@gentoo.org</email> + <name>Gentoo Games Project</name> + </maintainer> + <longdescription> +Unreal Tounament 2004 is a first-person 3-D shooter and sequel to the 2003 Game of the Year, Unreal Tournament 2003. The game was ported to Linux by Ryan "icculus" Gordon under contract from Epic Games and the Linux installer was released in the retail box. This is the dedicated server portion of the game and does not require the retail discs to use. +</longdescription> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/games-server/ut2004-ded/ut2004-ded-3369.3-r3.ebuild b/games-server/ut2004-ded/ut2004-ded-3369.3-r3.ebuild new file mode 100644 index 000000000000..e796bed9edc3 --- /dev/null +++ b/games-server/ut2004-ded/ut2004-ded-3369.3-r3.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit check-reqs wrapper unpacker + +BONUSPACK_P="dedicatedserver3339-bonuspack.zip" +PATCH_P="ut2004-lnxpatch${PV%.*}-2.tar.bz2" +DESCRIPTION="Unreal Tournament 2004 Linux Dedicated Server" +HOMEPAGE="https://liandri.beyondunreal.com/Unreal_Tournament_2004" +SRC_URI=" + http://ut2004.ut-files.com/Entire_Server_Download/${BONUSPACK_P} + http://ut2004.ut-files.com/UT2004/${PATCH_P%.bz2}.tar -> ${PATCH_P} + https://dev.gentoo.org/~chewi/distfiles/ut2004-v${PV/./-}-linux-dedicated.7z +" +S="${WORKDIR}" + +LICENSE="ut2003" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +RESTRICT="bindist mirror strip" + +BDEPEND=" + $(unpacker_src_uri_depends .7z) + app-arch/unzip +" +RDEPEND=" + !games-fps/ut2004 + !games-fps/ut2004-data + games-fps/ut2004-bonuspack-ece + games-fps/ut2004-bonuspack-mega + sys-libs/glibc + sys-libs/libstdc++-v3 +" + +CHECKREQS_DISK_BUILD="2G" +QA_PREBUILT="*" + +DIR="/opt/${PN%-ded}" + +src_prepare() { + default + + if use amd64; then + mv ut2004-ucc-bin-09192008/ucc-bin{-linux-amd64,} || die + fi + + cp -r UT2004-Patch/* ./ || die + mv ut2004-ucc-bin-09192008/ucc-bin System/ || die + rm -r System/{ut2004-bin*,*.dll,*.exe} UT2004-Patch/ ut2004-ucc-bin-09192008/ || die + + # In ut2004-bonuspack-ece. + rm \ + Animations/{MechaSkaarjAnims,MetalGuardAnim,NecrisAnim,ONSBPAnimations}.ukx \ + Help/BonusPackReadme.txt \ + Maps/ONS-{Adara,Aridoom,Ascendancy,IslandHop,Tricky,Urban}.ut2 \ + Sounds/{CicadaSnds,DistantBooms,ONSBPSounds}.uax \ + StaticMeshes/{BenMesh02,BenTropicalSM01,HourAdara,ONS-BPJW1,PC_UrbanStatic}.usx \ + System/{ONS-{Adara,IslandHop,Tricky,Urban},OnslaughtBP}.int \ + System/xaplayersl3.upl \ + Textures/{AW-2k4XP,BenTex02,BenTropical01,BonusParticles,CicadaTex,Construction_S,HourAdaraTexor,ONSBP{_DestroyedVehicles,Textures},PC_UrbanTex,UT2004ECEPlayerSkins}.utx \ + || die + + # In ut2004-bonuspack-mega. + rm System/{Manifest.in[it],Packages.md5} || die +} + +src_install() { + insinto "${DIR}" + doins -r * + fperms +x "${DIR}"/System/ucc-bin + + make_wrapper ${PN} "./ucc-bin server" "${DIR}"/System + newconfd "${FILESDIR}"/${PN}.confd ${PN} + newinitd "${FILESDIR}"/${PN}.initd ${PN} +} + +pkg_postinst() { + elog "You should take the time to edit the default server INI. Consult the INI" + elog "Reference at https://unrealadmin.org/server_ini_reference/ut2004 for" + elog "assistance in adjusting ${DIR}/System/Default.ini." + elog + elog "To have your server authenticate properly to the central server, you" + elog "MUST visit https://www.unrealadmin.org/server_cdkey and request a key." + elog "This is not required if you want an unlisted private server with" + elog "[DoUplink=False]." +} |
