pso-newserv-docker/README.md
2023-12-02 18:53:16 -05:00

54 lines
2.1 KiB
Markdown

# Fuzziqer "newserv" Docker Compose Scripts
Docker Compose scripts for running the
[Fuzziqer Software "newserv" PSO server software](https://github.com/fuzziqersoftware/newserv)
This repository is intended for my own personal use only. I take no responsibility
if you, the reader, happens to come across this and decide to use it and
have issues or lose data, or whatever else. Fuzziqer Software won't support
this either, obviously.
## Usage
It is assumed you have prior Docker / sys-admin experience. If not, you have
some learning to do first. Don't rush it.
### Before First Run
* Edit `.env` as appropriate. Set `UID` and `GID` to the ID's of the user/group
you want to run this server as.
* Create the `system` directory in the same directory as `docker-compose.yml`
and make sure it is owned by the aforementioned `UID` and `GID`.
### First Run
* Run `docker compose up` and let the image build and the container start.
* The container will abort because the `system` directory was initially empty.
But now it should be filled with the out-of-the-box newserv system contents
(copied un-altered from the newserv Git repo). Rename `config.example.json`
to `config.json` and edit it as needed (see [NOTES.md](NOTES.md) for
suggestions)
### Second Run
* Re-run `docker compose up` and newserv should start up now.
### DNS
I only use newserv with it's built-in DNS server functionality _disabled_ as
I prefer to use a separate DNS server like dnsmasq for this task. This means
I set `DNSServerPort` to 0 in `config.json` and the `docker-compose.yml` does
not have a mapping for UDP port 53 at all.
See the sample dnsmasq configuration `dnsmasq.conf.example` for something that
should work. To connect console PSO clients, you'll need some sort of DNS
server set up for your server that the console PSO clients can use.
### Connecting Clients
I assume you're familiar with how to get each PSO client to connect to whatever
private server you like, and won't be detailing the process here.
See [NOTES.md](NOTES.md) for patching/hexedit details for the PSO: BB client
executable which is quite a bit less straightforward otherwise.