commit:     5bc006637ea7b908a0ce13f45687f34b32466a55
Author:     Conrad Kostecki <conrad <AT> kostecki <DOT> com>
AuthorDate: Fri Jun 22 09:07:07 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jun 22 18:39:47 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5bc00663

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

 games-server/steamcmd/Manifest             |  1 +
 games-server/steamcmd/files/README.gentoo  | 42 ++++++++++++++++++++++++
 games-server/steamcmd/files/steamcmd.confd | 15 +++++++++
 games-server/steamcmd/files/steamcmd.initd | 32 +++++++++++++++++++
 games-server/steamcmd/metadata.xml         | 18 +++++++++++
 games-server/steamcmd/steamcmd-1.0.ebuild  | 51 ++++++++++++++++++++++++++++++
 6 files changed, 159 insertions(+)

diff --git a/games-server/steamcmd/Manifest b/games-server/steamcmd/Manifest
new file mode 100644
index 00000000000..e001f61616c
--- /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 00000000000..70f027bb804
--- /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 00000000000..dcaf8036b88
--- /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 00000000000..fecd30e3079
--- /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 00000000000..7b05247dc78
--- /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+gen...@bl4ckb0x.de</email>
+               <name>Conrad Kostecki</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>proxy-ma...@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 00000000000..0d2067a3069
--- /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
+}

Reply via email to