Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lutangar/ansible-role-dontstarvetogether
Setup and install a Don't Starve Together dedicated server.
https://github.com/lutangar/ansible-role-dontstarvetogether
ansible don-t starve steam together
Last synced: about 17 hours ago
JSON representation
Setup and install a Don't Starve Together dedicated server.
- Host: GitHub
- URL: https://github.com/lutangar/ansible-role-dontstarvetogether
- Owner: lutangar
- License: mit
- Created: 2016-01-28T22:18:38.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2016-02-02T18:49:19.000Z (almost 9 years ago)
- Last Synced: 2023-04-01T05:49:15.403Z (over 1 year ago)
- Topics: ansible, don-t, starve, steam, together
- Language: Shell
- Size: 19.5 KB
- Stars: 6
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Ansible role Don't Starve Together dedicated server
===================================================Setup and install one or more Don't Starve Together dedicated server.
> caves included :mushroom:Requirements
------------The Steam CMD client must be present on the targeted host.
You may use this role in combination with this [role for Steam cmd](https://github.com/lutangar/ansible-role-steamcmd) to ease things up.In any case you can simply point to your existing installation with the help of these variables:
```
steamcmd_user: steam
steamcmd_user_home: /home/{{ steamcmd_user }}/
steamcmd_directory: /home/{{ steamcmd_user }}/cmd/
```Role Variables
--------------
```
# steamcmd configuration
steamcmd_user: steam
steamcmd_user_home: /home/{{ steamcmd_user }}/
steamcmd_directory: /home/{{ steamcmd_user }}/cmd/
steamcmd_steam:
username: anonymous
password:# app wide configuration
dst_app_id: 343050
dst_install_dir: '{{ steamcmd_user_home }}apps/dontstarvetogether/'
dst_server_token: ~ # proves ownership of Don’t Starve Together# world
dst_world_preset: SURVIVAL_TOGETHER# network
dst_server_as_a_service: true
dst_server_name: "[Host]'s World"
dst_server_description: Once uppon a time in a quite hostile world.
dst_server_port: 10999
dst_server_password: password
dst_server_save_slot: ~ # which save slot should the dedicated server load
dst_server_intention: cooperative
dst_max_players: 6 # 1..64
dst_pvp: false # true | false
dst_game_mode: survival # endless | survival | wilderness
dst_enable_autosaver: true # creates a save at the start of each day, which will be resumed from when the server restarts
dst_enable_snapshots: false # allow GSAs the ability to fully roll back a server to an older state
dst_tick_rate: 30 # quality of the server, higher tick rate consumes more bandwidth and CPU
dst_connection_timeout: 8000 # time in milliseconds that the server should wait before dropping a non responsive client
dst_enable_vote_kick: false # vote kick allows users to vote to kick players that are disrupting the game
dst_pause_when_empty: true # pause the simulation when the dedicated server is empty
dst_offline_server: false# steam
dst_disable_cloud: true# misc
dst_console_enabled: true
dst_autocompiler_enabled: true# shard
dst_shard_enable: false # enable different server to work together
dst_shard_is_master: false # define the master server
dst_shard_name: overworld # define the shard name
dst_shard_cluster_key: change_this_if_you_set_bind_ip
dst_shard_master_ip: ~ # set the master server IP
dst_shard_id: "{{ dst_shard_name | to_uuid }}"
```Example Playbook
----------------Setup a classical survival Don't Starve Together server:
```
- hosts: myhostname
vars:
dst_server_token: myUniqueServerToken
roles:
- lutangar.dontstarvetogether
```Setup a classical **overworld server** plus a **caves server** for spelunking:
```
- hosts: myhostname
vars:
dst_server_token: myUniqueServerToken
roles:
- { role: lutangar.dontstarvetogether, dst_shard_enable: true, dst_shard_is_master: true }
- { role: lutangar.dontstarvetogether, dst_shard_enable: true, dst_world_preset: DST_CAVES, dst_server_port: 11000, dst_shard_name: caves, master_ip: 127.0.0.1 }
```> Remember there's only one master server, and other servers must set the master's IP and a different port number.
This setup would creates 2 system services named after the shard name, allowing to `stop`, `start` and `restart` servers individually:
```
service dst-overworld restart
service dst-caves restart
```> Don't forget to open the host ports to access the servers from the outside.
License
-------MIT
Resources
---------