Valve's "HLDS" Steam server is a tool which allows users to run a dedicated game server for any of the Steam supported dedicated servers.
This charm is designed to deploy just the core HLDSUPDATETOOL and corrosponding Steam client. This will create a base for which other subordinate charms can be deployed on top of.
This charm is available from the Juju Charm Store. To deploy this charm you'll need at a minimum: a cloud environment, a working Juju installation,
and a successful bootstrap. Please refer to the [Juju Getting Started](https://juju.ubuntu.com/docs/getting-started.html) guide before continuing.
Once bootstrapped, deploy the Steam charm:
juju deploy steam
This is the minimum required for this portion of the charm. To actually create a dedicated server you will need to deploy the games corrosponding charm. For example to launch a Left 4 Dead 2 server the following would be executed:
juju deploy left4dead2
juju add-relation left4dead2:juju-info steam
juju add-relation left4dead2:steam steam
This adds left4dead2 support to the steam server and launches the game. For configuration options and other information please refer to the individual Steam game server charms
Lastly, to expose your game server to the public run the following command
juju expose steam
The steam charm inherits all configuration options from the specific subordinate charm deployed on Steam. Please refer to those readmes for additional information
## Multiple games per server
> Currently only one subordinate per deployed steam service is allowed. This is due to change shortly.
The Steam server client has no way of handling mutliple physical units per game server. Avoid using `juju add-unit` for deployed Steam services. If you wish to deploy multiple Steam servers use the following:
juju deploy steam gameserver1
juju deploy left4dead2 my_l4d2_game
juju deploy steam gameserver2
juju deploy left4dead2 yo_l4d2_game
You can substitue gameserver1, gameserver2, my_l4d2_game, yo_l4d2_game with names that best describe your intentions and infrastructure. Continue with the setup instructions substituting "left4dead2" with the alias provided above.
## Replacing a game on a steam server
Currently a bug exists in Juju where removing the relation between a subordinate and a parent service does not properly fire hooks. In order to remove a subordinate game from a running steam service you will need to destroy the game suborindate. For example
juju destroy left4dead2
juju deploy teamfortress2
juju add-relation teamfortress2:juju-info steam
juju add-relation teamfortress2:steam steam
|2012/10/30 Marco Ceppi Remove all configuration options (revno 37)
|2012/10/30 Marco Ceppi Added more caveats (revno 36)
|2012/10/30 Marco Ceppi Updated readme (revno 35)
|2012/10/30 Marco Ceppi Removing game specific stuff for subordinates (revno 34)
|2011/11/21 Marco Ceppi Added start of DoD:S config
|2011/11/21 Marco Ceppi Fixed "tf2" configuration file
|2011/11/21 Marco Ceppi Updated default name and improved type casting in config.yaml
|2011/11/20 Marco Ceppi Moved all site functions to env/functions
|2011/11/20 Marco Ceppi Reorganized a lot of the methods and functions