1. Erik Southworth
  2. Steam Boiler


Steam Boiler /

Filename Size Date modified Message
41 B
4.6 KB
44 B
35.1 KB
1.1 KB
5.4 KB
5.6 KB
34 B
1.9 KB
92.3 KB
2.3 KB
.. -*- reStructuredText -*-

    Erik Southworth, 2009, 2010, 2012 (dvs)

What is Steam-Boiler?

Steam-Boiler is a package-friendly steam distribution. It is one
part **steam**, Valve’s command-line tool for installing and updating
game-servers on Linux and one part **boiler**, a wrapper script for **steam** that
started as a simple run-wrapper and has since gained many features.

Also now with Steam Console Client (c) Valve Corporation.

Why was is written?
Mostly to have a package-friendly steam distribution for any game-server
appliance that need be installed only once. Most software utilities only
need to be installed on a system once. **steam** defies this principle
with it's auto-update feature, has many annoyances and behaves poorly
in general.


* **boiler** requires only a single installation per host. It can
  be easily used from /usr or /usr/local and still maintains the ability
  to accept steam self-updates, (no SUID required). Each logon user has
  control of his own copy of the steam program.

* The command-line interface is shorter and more flexible. If the
  command-line arguments are ordered, an update command can be as simple
  as ``steam update tf`` or ``steam update css``.

* **boiler** is compatible with standard **steam** command-line syntax too.

* No more having to place steam into every server base directory. If
  envoked with -command update option argument, **boiler** will
  automatically create symlinks to represent a steam instance where
  usually needed next to the **hlds_run** or **srcds_run** run-scripts.

* **boiler** can find and wipe the glob files. ``steam --wipe``

* **boiler** keeps those annoying steam debug messages silent.

* **boiler** uses ionice IDLE class schuduler by default to minimize disk
  thrashing for other running gameservers. (Is this really needed?)

* **boiler** will read and output the contents of the steam.inf files. ``steam version``

* **boiler** can be used to access both HldsUpdateTool and Steam Console
  Client (c) Valve Corporation. ``steam console``

And many more...


A GNU/Linux or compatible system is needed.

There is nothing to compile, so no compilers are needed.

The following requirements are typically already provided on a Linux
system. If the target system is of arch x86_64 the required libs for
x86 may need to be installed if it not bi-arch already.

        * A system with the Python programming language.

        * HldsUpdateTool(steam) ((provided))
        * Steam Console Client(steamcmd) ((provided))
        * coreutils
        * util-linux
        * findutils

        * abi: ELF32(SysV x86)
        * soname: ELF32/libc.so.6(SysV x86)
        * soname: ELF32/libdl.so.2(SysV x86)
        * soname: ELF32/libm.so.6(SysV x86)
        * soname: ELF32/libpthread.so.0(SysV x86)
        * uncompress(gzip)
        * tar


Installing is done by the following three commands::

    $ ./configure
    $ make
    # make install (as root)

The default ``configure`` uses ``--prefix=/usr/local`` and this works fine.
Run ``./configure``, with some options if you wish. The standard options
are documented in the **INSTALL** file. The most interesting options to set
are the usual ``--prefix=/usr``.

For more configuration details run::

    $ ./configure --help

If there are any errors during configuration, check your build environment
and try to find the error, otherwise file a bug-report on the issue tracker
or contact one of the authors.

These files will be installed.

    * ${bindir}/boiler
    * ${bindir}/steam -> ${bindir}/boiler (symlink)
    * ${pkgdatadir}/hldsupdatetool
    * ${mandir}/man6/steam.6
    * ${mandir}/man6/boiler.6


To run ``steam`` the legacy way, just type on a terminal::

    $ steam -command CMD [-game NAME] [-dir PATH] [options]

There are a few command line options. See the manual page or run for details::

    $ steam

Otherwise to run ``boiler`` just type on a terminal::

    $ boiler <command> [game] [directory] [options]

There are a few command line options. See the manual page or run for details::

    $ boiler --help

Or look into the documention in the doc/ directory.

Mostly, ``boiler`` is intended to be an alias for the ``steam`` command so, the preferred
usage would be as follows::

    $ steam <command> [game] [directory] [options]

And so on...You get the idea.


Boiler is distributed under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 3 of the License,
or (at your option) any later version. A copy of the license can be found in
the file **COPYING** included with the source code of the program. If not, see

The HldsUpdateTool(Steam) application (found in the subdirectory
hldsupdatetool/) has its own license, which can be found in the file **LICENSE**
included with the program.

Ideas, questions, patches and bug reports

Home page:

Primary distribution point:

Ideas, questions, patches and bug reports:

If you add something, or fix a bug, please send a patch (in 'diff -u'
format) to the issue tracker or one of the authors.