Installs the Steam Client Binary and any selected Steam game. Upon installation, the Steam client will be updated and the selected game will be installed then started.
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 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 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 steam