Package Details: steamcmd latest-3

Git Clone URL: https://aur.archlinux.org/steamcmd.git (read-only)
Package Base: steamcmd
Description: Steam Command Line Tools
Upstream URL: http://developer.valvesoftware.com/wiki/SteamCMD
Keywords: download games network server steam
Licenses: custom
Submitter: markzz
Maintainer: markzz
Last Packager: markzz
Votes: 84
Popularity: 0.861506
First Submitted: 2014-01-01 02:21
Last Updated: 2019-03-24 20:06

Pinned Comments

markzz commented on 2017-10-27 15:48

Please read the note on the Wiki before using this PKGBUILD: https://wiki.archlinux.org/index.php/Steam#SteamCMD

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 Next › Last »

markzz commented on 2016-02-06 19:12

I personally use /var/lib simply because other Arch Linux packages use that for a home folder for users that don't need to be in /home. If you wish to use /srv, it's your machine and you're free to put files where you please. You have to remember the UNIX filesystem hierarchy is a guideline, but not a must-do. Arch Linux itself breaks rules regarding this topic.

Also, the only reason Volvo wishes you to create a new user (at least by my interpretation) is to avoid installing server software with root. What I'll do is think about revising some of the parts of this package to use a separate user (probably a steamcmd user, and it's home folder will be in /var/lib to conform with other Arch Linux packages).

Deal?

edh commented on 2016-02-06 17:58

Sure this is fine as well. Though currently this package executes at least once steamcmd as root in the .install file which leads to /root/Steam being created.
I would expect this package to be installed how it is recommended by the steam developers themselfs.
Additionally I think /srv is a much more appropiate place for game files since according to the common filesystem hierachy it is supposed to be the "the location of the data files for particular service, and so that services which require a single tree for readonly data, writable data and scripts (such as cgi scripts) can be reasonably placed." [1] while /var/lib clearly serves a different purpose [2].

But hell it is your package! This is just my point of view.

[1] http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/srv.html
[2] http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/var.html

markzz commented on 2016-02-06 17:16

I don't agree because it's not running as a daemon. Also, you should not run this as root (unless to run an update for SteamCMD itself).

Furthermore, there's nothing stopping you from creating a user. When I use this, I create a user for the specific game (like tf2) and create a directory in /var/lib (e.g. /var/lib/tf2) and run steamcmd as that user just for that game.

edh commented on 2016-02-06 16:55

It is recommended that an extra user is created for SteamCMD [1]. I would suggest adapting the install file to properly implement that. It took me some time to figure out how to do that properly for a pacakge of mine so please feel free to build on top of my script [2].
Please set an appriopate home (maybe /srv/steam/) for that user and make sure to use it for running steamcmd since currently there is some junk residing in /root/Steam where it definitely should not belong.
If you need any help please let me know and I would be happy to send some patches.

Btw. tabs ftw! :D

[1] https://developer.valvesoftware.com/wiki/SteamCMD#Linux
[2] https://github.com/Edenhofer/abs/blob/master/minecraft-server/minecraft-server.install

WorMzy commented on 2014-01-28 19:43

Thanks for the quick update.

markzz commented on 2014-01-28 16:09

Updated PKGBUILD with WorMzy's suggestions.

WorMzy commented on 2014-01-28 13:57

Nice PKGBUILD. Three points though:

1. Why are you extracting the tarball in the build function when the tarball is automagically extracted by makepkg?
2. Why cd into $srcdir at the start of the package function when you don't use relative paths?
3. A package built with this PKGBUILD on a x86_64 system will have an additional dependency to a package built on a i686 system, which the i686 system will not be able to resolve, so the 'any' architecture is not accurate. You should specify 'i686' and 'x86_64' instead.

Also, tabs are evil, but that's just my opinion. :P

markzz commented on 2014-01-18 15:32

Thanks, didn't think about passing arguments.

sten_gun commented on 2014-01-18 02:57

There's an error into /usr/bin/steamcmd startscript: you must add $@ for additional arguments to exec /usr/share/steamcmd/steamcmd.sh, or you'll be not able to pass direct commands to original steamcmd script like steamcmd +login anonymous.

markzz commented on 2014-01-06 00:20

steamdedicatedserver merged with steamcmd