diff --git a/Media/Conf-Backup.gif b/Media/Conf-Backup.gif new file mode 100644 index 0000000..802d4cf Binary files /dev/null and b/Media/Conf-Backup.gif differ diff --git a/Media/Linting.gif b/Media/Linting.gif new file mode 100644 index 0000000..30da5ad Binary files /dev/null and b/Media/Linting.gif differ diff --git a/Media/Sane-Path.gif b/Media/Sane-Path.gif new file mode 100644 index 0000000..0623788 Binary files /dev/null and b/Media/Sane-Path.gif differ diff --git a/Media/Until-Crash.gif b/Media/Until-Crash.gif new file mode 100644 index 0000000..24fe2b9 Binary files /dev/null and b/Media/Until-Crash.gif differ diff --git a/README.md b/README.md index bff02c4..aff92a9 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,35 @@ A set of opinionated scripts used to manage 7 days to die. # Table of Contents [TOC] +# Features +- Xml linting when starting a server: + ![Linting](./Media/Linting.gif) + This avoids issues where a server fails to start with no apparent reason in the logs, mostly due to + xml parsing errors not properly reported by 7 Days to Die Servers. Requires `xmllint` to be installed. + +- Automated backups of configurations on start: + ![Configuration Backup](./Media/Conf-Backup.gif) + This helps to maintain shorter term backups locally to quickly revert changes made start to start on the server. + +- Automatic restart handling on server crash: + ![Until-Loop-Crash](./Media/Until-Crash.gif) + When a server crash is detected the server is automatically restarted after 60 seconds, this is managed internally + by the script so when you shut down the server explicitly it doesn't start again until told to. Goodbye cronjob! + +- Sane handling of default paths: + ![Sane Paths](./Media/Sane-Path.gif) + Instead of the default 7 Days to Die linux behavior of using `~/.local/share/7DaysToDie/` for all saves and serveradmin.xml + configurations, this script overrides the path to be local to the given server. This makes management and configuration + vastly easier. +- And more... + +# Automatic Installation +Must be run as `root` or a user with access to `sudo` + +```bash +bash -c "$(curl https://gitlab.orion-technologies.io/game-servers/7-days-to-die/-/raw/Development/install.bash)" +``` + # Requirements - Required - [tmux](https://github.com/tmux/tmux) @@ -19,18 +48,11 @@ A set of opinionated scripts used to manage 7 days to die. - [pv](https://github.com/icetee/pv) - Used to show progress for backup operations -# Automatic Installation -Must be ran as `root` or a user with access to `sudo su` - -```bash -bash -c "$(curl https://gitlab.orion-technologies.io/game-servers/7-days-to-die/-/raw/Development/install.bash)" -``` - # Defaults By default all servers start at an offset of 50000 + server id. For instance, if you were to start `Server-1`, the server id would be 1. As such the port `Server-1` would run on is 50001, `Server-2` would be 50002, and so on. -By default the base directory for all servers to be installed to is `~/7-Days-To-Die`. +By default, the base directory for all servers to be installed to is `~/7-Days-To-Die`. # Usage Switch to the `sdtd` user and source `.bash_profile` in order to use these scripts assuming automatic installation has @@ -73,7 +95,7 @@ Basic usage: this would list installed servers, note that this only checks if the server directory exists, not if any server files exist within the directory itself -To learn more usage, pass -h to any option, e.g to get base options: +To learn more usage, pass -h to any option, e.g. to get base options: ```bash 7D2D-Manage -h ```