diff options
author | Conrad Kostecki <conrad@kostecki.com> | 2018-06-22 11:07:07 +0200 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2018-06-22 20:39:47 +0200 |
commit | 5bc006637ea7b908a0ce13f45687f34b32466a55 (patch) | |
tree | 97e5f26d9c4e218a5ce8483a70a8684351e11e87 /games-server | |
parent | profiles/license_groups: add SteamCMD license to EULA group (diff) | |
download | gentoo-5bc006637ea7b908a0ce13f45687f34b32466a55.tar.gz gentoo-5bc006637ea7b908a0ce13f45687f34b32466a55.tar.bz2 gentoo-5bc006637ea7b908a0ce13f45687f34b32466a55.zip |
games-server/steamcmd: New package
Closes: https://bugs.gentoo.org/652236
Closes: https://github.com/gentoo/gentoo/pull/7776
Package-Manager: Portage-2.3.40, Repoman-2.3.9
Diffstat (limited to 'games-server')
-rw-r--r-- | games-server/steamcmd/Manifest | 1 | ||||
-rw-r--r-- | games-server/steamcmd/files/README.gentoo | 42 | ||||
-rw-r--r-- | games-server/steamcmd/files/steamcmd.confd | 15 | ||||
-rw-r--r-- | games-server/steamcmd/files/steamcmd.initd | 32 | ||||
-rw-r--r-- | games-server/steamcmd/metadata.xml | 18 | ||||
-rw-r--r-- | games-server/steamcmd/steamcmd-1.0.ebuild | 51 |
6 files changed, 159 insertions, 0 deletions
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 b/games-server/steamcmd/files/steamcmd.confd new file mode 100644 index 000000000000..dcaf8036b88a --- /dev/null +++ b/games-server/steamcmd/files/steamcmd.confd @@ -0,0 +1,15 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# 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 b/games-server/steamcmd/files/steamcmd.initd new file mode 100644 index 000000000000..fecd30e3079b --- /dev/null +++ b/games-server/steamcmd/files/steamcmd.initd @@ -0,0 +1,32 @@ +#!/sbin/openrc-run +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +if [ "${SVCNAME}" = "steamcmd" ]; then + instance="main" +else + instance="${SVCNAME#steamcmd.}" +fi + +name="SteamCMD (Mod: ${instance})" +pidfile="/run/steamcmd.${instance}.pid" +screen_name="steamcmd.${instance}" +start_stop_daemon_args="--chdir ${STEAMCMD_PATH}" + +command="screen" +command_args="-DmUS ${screen_name} ${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" ] || [ -z "$STEAMCMD_OPTS" ]; then + eerror "One or more STEAMCMD_* variables in /etc/conf.d/steamcmd.${SVCNAME} are not set!" + return 1 + fi + return 0 +} diff --git a/games-server/steamcmd/metadata.xml b/games-server/steamcmd/metadata.xml new file mode 100644 index 000000000000..7b05247dc78f --- /dev/null +++ b/games-server/steamcmd/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>ck+gentoo@bl4ckb0x.de</email> + <name>Conrad Kostecki</name> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</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> +</pkgmetadata> diff --git a/games-server/steamcmd/steamcmd-1.0.ebuild b/games-server/steamcmd/steamcmd-1.0.ebuild new file mode 100644 index 000000000000..0d2067a30692 --- /dev/null +++ b/games-server/steamcmd/steamcmd-1.0.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit readme.gentoo-r1 user + +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" + +LICENSE="LGPL-2.1+ Steam" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" + +RDEPEND="app-misc/screen" + +RESTRICT="bindist mirror" + +S="${WORKDIR}" + +QA_PREBUILT="opt/steamcmd/linux32/libstdc++.so.6 + opt/steamcmd/linux32/steamcmd" + +pkg_setup() { + enewgroup steamcmd + enewuser steamcmd -1 -1 /opt/steamcmd 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 steamcmd + newconfd "${FILESDIR}"/steamcmd.confd steamcmd + + readme.gentoo_create_doc +} + +pkg_postinst() { + readme.gentoo_print_elog +} |