Skip to content

Commit

Permalink
docs: more doc improvements/spell checks etc
Browse files Browse the repository at this point in the history
  • Loading branch information
JamesIves committed Jul 13, 2024
1 parent 4b6bbce commit ee94d7c
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 24 deletions.
8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Contributing
# Contributing

I appreciate your interest in contributing to this project. Please review the general process and scope before starting a contribution.

## Scope 🔍
## Scope

The four main requirements for this project are:

Expand All @@ -11,12 +11,12 @@ The four main requirements for this project are:
3. Have the ability to run servers for custom mods.
4. Only support legal usage of Steam and Valve's titles. **It will not, and never will, support the ability to circumvent any licensing or other restrictions Valve imposes.** The project maintainers will report any shady behaviour to Valve and GitHub.

## Process ✈️
## Process

1. File an issue on the [Issues board](https://github.com/JamesIves/hlds-docker/issues), or create a discussion on the [Discussions board](https://github.com/JamesIves/hlds-docker/discussions).
2. Once discussed and agreed upon, clone the project.
3. Make your changes.
4. Validate your changes; at the very least, please build the image and start a server. [You can learn how to build the images using the guide located here](docs/BUILD_A_CUSTOM_IMAGE.md).
4. Validate your changes; at the very least, please build the image and start a server. [You can learn how to build the images using the guide located here](docs/BUILDING_AN_IMAGE.md).
5. Submit a pull request to the `beta` branch.
6. Once reviewed, your changes will be made available on DockerHub via the `-beta` tag, for example `jives/hlds:cstrike-beta`.
7. After some more tests, changes will be made sent to the `main` branch where the production images will be published.
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<img align="right" width="180" height="auto" src="./.github/docs/docker.svg" alt="Docker in the Half-Life Colours">

# Half-Life Dedicated Server With Docker
# hlds-docker

[Half-Life Dedicated Server](https://help.steampowered.com/en/faqs/view/081A-106F-B906-1A7A) powered by [Docker](https://www.docker.com). Supports all the classic [GoldSrc](https://developer.valvesoftware.com/wiki/GoldSrc) Half-Life games and mods, including the ability to add custom configurations and plugins.
[Half-Life Dedicated Server](https://help.steampowered.com/en/faqs/view/081A-106F-B906-1A7A) powered by [Docker](https://www.docker.com). It supports all the classic [GoldSrc](https://developer.valvesoftware.com/wiki/GoldSrc) Half-Life games and mods, including the ability to add custom configurations and plugins.

Special thank you to all the past and present [GitHub Sponsors](https://github.com/sponsors/JamesIves) 💖.

Expand All @@ -15,7 +15,7 @@ Before starting, ensure you have the [Docker daemon](https://www.docker.com/) a
> [!IMPORTANT]
> The following steps will not work if you use an ARM architecture system. For best results, use a system running x86-64.
To get started as quickly as possible you can run the following in your terminal. Be sure to adjust the image name (`jives/hlds`) so the tag corresponds with the game you want to start the server for. Additionally you can adjust the server startup arguments by modifying the `command` property; [for a list of available arguments, visit the Valve Developer Wiki](https://developer.valvesoftware.com/wiki/Half-Life_Dedicated_Server).
You can run the following in your terminal to get started as quickly as possible. Adjust the image name (`jives/hlds`) so the tag corresponds with the game you want to use. Additionally, you can adjust the server startup arguments by modifying the `command` property; [for a list of available arguments, visit the Valve Developer Wiki](https://developer.valvesoftware.com/wiki/Half-Life_Dedicated_Server).

```bash
docker run -d \
Expand All @@ -31,7 +31,7 @@ docker run -d \
```

> [!TIP]
> You can find the available images below. Be sure to adjust the `+map` parameter when changing the game as it may cause the server to not start properly if unavailable.
> The available images are below. When changing the game, be sure to adjust the `+map` parameter, as it may cause the server not to start if the map is unavailable.
>
> - `jives/hlds:valve` ([Half-Life Deathmatch](https://store.steampowered.com/app/70/HalfLife/))
> - `jives/hlds:cstrike` ([Counter-Strike](https://store.steampowered.com/app/10/CounterStrike/))
Expand All @@ -42,20 +42,20 @@ docker run -d \
> - `jives/hlds:dod` ([Day of Defeat](https://store.steampowered.com/app/30/Day_of_Defeat/))
> - `jives/hlds:tfc` ([Team Fortress Classic](https://store.steampowered.com/app/20/Team_Fortress_Classic/))
>
> Images are also available on the [GitHub Container Registry](https://github.com/JamesIves/hlds-docker/pkgs/container/hlds).
> Container images are alternatively available on the [GitHub Container Registry](https://github.com/JamesIves/hlds-docker/pkgs/container/hlds).
Once the command finishes its process you can connect to your server via the public IP address by loading the game on [Steam](https://steampowered.com). **You must own a copy of the game on Steam in order to play**.
Once the command finishes, you can connect to your server via the public IP address by loading the game on [Steam](https://steampowered.com). \*\*You must own a copy of the game on Steam to play.

> [!NOTE]
> If you're unable to join the server you can check for errors in the server logs by running `docker ps` to get the container id followed by `docker logs <container id>`.
> If you cannot join the server, you can check for errors in the server logs by running `docker ps` to get the container id followed by `docker logs <container id>`.
### Docker Compose

If you'd prefer to configure your server using [Docker Compose](https://docs.docker.com/compose/), you can simply pull down the project repository to your system and run `docker compose up` from the root. Be sure to make any modifications you need such as changing the game image and server startup commands in [docker-compose.yml](docker-compose.yml) before running `docker compose up`.
If you'd prefer to configure your server using [Docker Compose](https://docs.docker.com/compose/), you can pull down the project repository to your system and run `docker compose up` from the root. Make any modifications you need, such as changing the game image and server startup commands in [docker-compose.yml](docker-compose.yml) before running `docker compose up`.

## Advanced Setup ⚙️

If you'd like to customize the server client further please check out the following advanced setup guides.
To customize the server client further, please check out the following advanced setup guides.

- [Server Configs and Plugins](docs/SERVER_CONFIGS_AND_PLUGINS.md)
- [Custom Mods](docs/CUSTOM_MODS.md)
Expand Down
10 changes: 5 additions & 5 deletions docs/BUILDING_AN_IMAGE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Building an Image

If you want to build an image yourself, you can follow the steps below. This can be useful in cases where you want to make changes to the build scripts, or add custom functionality. This is also useful for testing changes before submitting a contribution to the project.
If you want to build an image yourself, follow the steps below. This can be useful in cases where you want to make changes to the build scripts or add custom functionality. It is also useful for testing changes before submitting a contribution to the project.

1. Clone this project locally.
2. Define the game you want the server to run. You can do this by setting an environment variable on your command line.
Expand All @@ -9,7 +9,7 @@ If you want to build an image yourself, you can follow the steps below. This can
export GAME=cstrike
```

Before continuing to the next steps, verify that the environment variable is set by running `echo $GAME` in your terminal. It should send back the variable you just set.
Before continuing to the following steps, verify that the environment variable is set by running `echo $GAME` in your terminal. It should send back the variable you just set.

> [!TIP]
> Available options include the following, these names are recognized by the `app_set_config 90 mod` command in `hlds.txt`.
Expand All @@ -32,7 +32,7 @@ docker compose -f docker-compose.local.yml build
4. If you want to modify the server startup arguments, you can provide a `command` property within `docker-compose.local.yml`; [for a list of available arguments, visit the Valve Developer Wiki](https://developer.valvesoftware.com/wiki/Half-Life_Dedicated_Server).

> [!NOTE]
> In the majority of cases you'll need to specify `+map` for the server to be joinable.
> In most cases, you'll need to specify `+map` for the server to be joinable.
```yml
services:
Expand All @@ -46,5 +46,5 @@ services:
docker compose -f docker-compose.local.yml up
```

6. Connect to your server via the public IP address by loading the game on [Steam](https://store.steampowered.com/). You must own a copy of the game on Steam in order to play.
7. _Optional_: If you want to start a custom mod, you can modify your `$GAME` environment variable once the image is built prior to running `docker compose -f docker-compose.local.yml up`. This allows you to add custom scripts to the server image while also telling the dedicated server client what mod to use.
6. Connect to your server via the public IP address by loading the game on [Steam](https://store.steampowered.com/). To play, you must own a copy of the game on Steam.
7. _Optional_: If you want to start a custom mod, you can modify your `$GAME` environment variable once the image is built before running `docker compose -f docker-compose.local.yml up`. This allows you to add custom scripts to the server image while telling the dedicated server client what mod to use.
6 changes: 3 additions & 3 deletions docs/CUSTOM_MODS.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ If you want to run a custom mod, you can do so with the `mods` directory.
1. Create a folder called `mods` that lives alongside where you would normally start the server process.
2. Add your mod files as a sub-directory of `mods`. For example if the mod name is `decay`, you'd place it in `mods/decay`.
3. Define the `GAME` environment variable so it points to your mod name. This is what the dedicated server client will use to ensure that it starts a server for the correct mod. The name of the mod corresponds with the directory name that was just created.
3. Define the `GAME` environment variable for your mod name. The dedicated server client will use this to ensure that it starts a server for the correct mod, which corresponds with the directory name that was just created.

```bash
export GAME=decay
```

4. Start the image as you normally would either with `docker run` or `docker compose up`. Most Half-Life mods require _specific_ startup arguments, refer to the [Valve Developer Wiki](https://developer.valvesoftware.com/wiki/Half-Life_Dedicated_Server) and the instructions for the mod you're trying to run for more details.
4. Start the image as you normally would, either with `docker run` or `docker compose up`. Most Half-Life mods require specific startup arguments. For more details, refer to the [Valve Developer Wiki](https://developer.valvesoftware.com/wiki/Half-Life_Dedicated_Server) and the instructions for the mod you're trying to run.

> [!TIP]
> When using a pre-built image, in most cases you'll likely want to use the `valve` image (`jives/hlds:valve`), but this ultimately depends on the mod.
> When using a pre-built image, you'll likely want to use the `valve` image (`jives/hlds:valve`), but this ultimately depends on the mod.
6 changes: 3 additions & 3 deletions docs/SERVER_CONFIGS_AND_PLUGINS.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ If you wish to add server configurations, such as add-ons, plugins, map rotation
Any configuration files will be copied into the container on start from the `config` directory and placed within the folder for the specified game. For example, if you set the game as `cstrike`, the contents of the `config` folder will be placed within the `cstrike` directory on the server.

1. Create a folder called `config` that lives alongside where you would normally start the server process.
2. Add your config files to the directory. For example you may want to add a `mapcycle.txt` file or a custom `motd.txt`.
3. Start the image as you normally would either with `docker run` or `docker compose up`.
1. Create a folder called `config` that lives alongside where you would typically start the server process.
2. Add your config files to the directory. For example, you may want to add a `mapcycle.txt` file or a custom `motd.txt`.
3. Start the image as you normally would, either with `docker run` or `docker compose up`.

For a list of all the available server configuration types, [refer to the Valve Developer Wiki](https://developer.valvesoftware.com/wiki/Main_Page).

0 comments on commit ee94d7c

Please sign in to comment.