Skip to content

Commit

Permalink
Updated readme, changed instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
SNMetamorph committed Oct 6, 2024
1 parent 8c0848f commit 862884a
Showing 1 changed file with 51 additions and 52 deletions.
103 changes: 51 additions & 52 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,75 +1,74 @@
[![GitHub Actions Docker Image CI](https://github.com/FWGS/xashds-docker/workflows/Docker%20Image%20CI/badge.svg)](https://github.com/FWGS/xashds-docker/actions)
[![HitCount](http://hits.dwyl.com/FWGS/xashds-docker.svg)](http://hits.dwyl.com/FWGS/xashds-docker)

![banner](banner.png)

# Xash3D FWGS Dedicated Server Docker

## Xash3D FWGS Half-Life Dedicated Server as a Docker image

Probably the fastest and easiest way to set up an old-school Xash3D FWGS
Half-Life Deathmatch Dedicated Server (XashDS). You don't need to know
anything about Linux or XashDS to start a server. You just need Docker and
this image.
Probably, the fastest and easiest way to set up an old-school Xash3D FWGS
Half-Life Deathmatch Dedicated Server. You don't need to know
anything about Linux or XashDS to start a server. You just need installed Docker and this image.

## Quick Start
> **Note:** At the moment, we don't yet publishing pre-built images on Docker Hub. Therefore, you need to build it yourself.
Start a new server by running:
### Building XashDS image manually
Clone this repository and build image with Docker Compose. Just two commands.

```bash
docker run -it --rm -d -p27015:27015 -p27015:27015/udp artkirienko/xashds
git clone https://github.com/FWGS/xashds-docker.git && cd xashds-docker
sudo docker compose build
```

Change the player slot size, map or `rcon_password` by running:

```
docker run -it --rm -d --name xash -p27015:27015 -p27015:27015/udp artkirienko/xashds +maxplayers 12 +rcon_password SECRET_PASSWORD
Next, you can use this Compose file below as a base for your custom configuration. If you don't need custom configuration - just ignore it and continue to next step.

```yaml
services:
xashds:
image: xashdsdocker:latest
build: .
container_name: xashds
restart: always
tty: true
stdin_open: true
command: +map crossfire
ports:
- '27015:27015/udp'
```
> **Note:** Any [server config command](http://sr-team.clan.su/K_stat/hlcommandsfull.html)
can be passed by using `+`. But it has to follow after the image name `artkirienko/xashds`.
can be passed to `command` section in Docker Compose file.

## What is included
By default, server will start on 27015 UDP port. When you're finished with configuration and ready to start a server just run:

* Latest game assets via **SteamCMD** and
[HLDS Build](https://github.com/DevilBoy-eXe/hlds) version `8308`
```bash
sudo docker compose up -d
```

* [Xash3D](https://github.com/FWGS/xash3d) dedicated server
After that, server will automatically start on system startup and auto-restarting in case of crash.

```
Xash3D FWGS (build 1869, Linux-i386)
```
If you want to stop a server and completely remove all containers, run:
```bash
sudo docker compose down
```

* [Metamod-p](https://github.com/mittorn/metamod-p) for Xash3D by mittorn
## What is included
* Game assets from [HLDS](https://github.com/DevilBoy-eXe/hlds), build number `8308`
* [Xash3D FWGS](https://github.com/FWGS/xash3d-fwgs) dedicated server, latest version
* [Metamod-p](https://github.com/mittorn/metamod-p) for Xash3D by mittorn,
version `1.21p37`

* [AMX Mod X](https://github.com/alliedmodders/amxmodx) version `1.8.2`

* [jk_botti](https://github.com/Bots-United/jk_botti) version `1.43`

* Minimal config present, such as `mp_timelimit`, `public 1` and mapcycle
* [AMX Mod X](https://github.com/alliedmodders/amxmodx), version `1.9.0.5294`
* [jk_botti](https://github.com/Bots-United/jk_botti), version `1.43`
* Minimal config preset, such as `mp_timelimit`, `public 1` and mapcycle

## Default mapcycle

* crossfire.bsp
* bounce.bsp
* datacore.bsp
* frenzy.bsp
* gasworks.bsp
* lambda_bunker.bsp
* rapidcore.bsp
* snark_pit.bsp
* stalkyard.bsp
* subtransit.bsp
* undertow.bsp
* boot_camp.bsp

## Advanced

In order to use a custom server config file, add your settings
to `valve/config/server.cfg` of this project and mount the directory as volume
to `/opt/steam/xashds/valve/config` by running:

```bash
docker run -it --rm -d -p27015:27015 -p27015:27015/udp -v $(pwd)/valve/config:/opt/steam/xashds/valve/config artkirienko/xashds
```
* crossfire
* bounce
* datacore
* frenzy
* gasworks
* lambda_bunker
* rapidcore
* snark_pit
* stalkyard
* subtransit
* undertow
* boot_camp

0 comments on commit 862884a

Please sign in to comment.