Steam Boiler /

Filename Size Date modified Message
console
doc
hldsupdatetool
src
41 B
4.5 KB
44 B
34.3 KB
1.1 KB
5.3 KB
5.4 KB
34 B
1.8 KB
waf
90.2 KB
2.2 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.

Features
========

* **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...

Requirements
============

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.

Installation
    Requires:
        * A system with the Python programming language.

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

HldsUpdateTool(Steam)
    Requires:
        * 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

Installation
============

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

Usage
=====

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.

License
=======

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
<http://www.gnu.org/licenses/>.

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:
    http://bitbucket.org/superstition/steam-boiler/wiki/

Primary distribution point:
    http://bitbucket.org/superstition/steam-boiler/downloads/

Ideas, questions, patches and bug reports:
    http://bitbucket.org/superstition/steam-boiler/issues/

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.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.