Rebrand dedicated server as straywild
This commit is contained in:
parent
481997b42c
commit
c1b228475d
14 changed files with 132 additions and 132 deletions
|
|
@ -1,6 +1,6 @@
|
|||
# Contribution policy
|
||||
|
||||
The NETfishing Dedicated Server is an owner-directed Woofmeow project and does
|
||||
The straywild Dedicated Server is an owner-directed Woofmeow project and does
|
||||
not accept unsolicited contributions. Do not submit pull requests, patches,
|
||||
code, documentation, packages, or other implementation work. Pull requests
|
||||
are disabled.
|
||||
|
|
@ -10,7 +10,7 @@ An Issue is not an invitation to provide implementation work.
|
|||
|
||||
[`CONTRIBUTOR-TERMS.md`](CONTRIBUTOR-TERMS.md) is retained for previously
|
||||
accepted work and any specific future work expressly invited in writing by the
|
||||
NETfishing owners. It is not a standing invitation to contribute.
|
||||
straywild owners. It is not a standing invitation to contribute.
|
||||
|
||||
Keep changes focused, preserve the server’s security and update boundaries,
|
||||
and do not commit game binaries, packages, credentials, deployment secrets,
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
# NETfishing Dedicated Server contributor terms
|
||||
# straywild Dedicated Server contributor terms
|
||||
|
||||
This project does not accept unsolicited contributions. These terms are
|
||||
retained for contributions previously accepted after their publication and
|
||||
for specific future work expressly invited in writing by the NETfishing
|
||||
for specific future work expressly invited in writing by the straywild
|
||||
owners. They are not a request or standing invitation for submissions and do
|
||||
not retroactively change ownership of earlier work or replace a separately
|
||||
signed agreement.
|
||||
|
|
|
|||
48
Dockerfile
48
Dockerfile
|
|
@ -3,37 +3,37 @@ FROM debian:bookworm-slim
|
|||
RUN DEBIAN_FRONTEND=noninteractive apt-get update \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends tzdata \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& groupadd --system --gid 10001 netfishing \
|
||||
&& useradd --system --uid 10001 --gid netfishing \
|
||||
--home-dir /var/lib/netfishing-server netfishing \
|
||||
&& install -d -o netfishing -g netfishing \
|
||||
/opt/netfishing-server /var/lib/netfishing-server
|
||||
&& groupadd --system --gid 10001 straywild \
|
||||
&& useradd --system --uid 10001 --gid straywild \
|
||||
--home-dir /var/lib/straywild-server straywild \
|
||||
&& install -d -o straywild -g straywild \
|
||||
/opt/straywild-server /var/lib/straywild-server
|
||||
|
||||
COPY --chown=netfishing:netfishing \
|
||||
dist/NETfishingServer.x86_64 \
|
||||
dist/NETfishingServer.pck \
|
||||
COPY --chown=straywild:straywild \
|
||||
dist/straywildServer.x86_64 \
|
||||
dist/straywildServer.pck \
|
||||
dist/BUILD_INFO \
|
||||
dist/SOURCE-CODE.md \
|
||||
dist/SHA256SUMS \
|
||||
/opt/netfishing-server/
|
||||
COPY --chown=netfishing:netfishing \
|
||||
config/server.cfg.example /etc/netfishing-server.cfg
|
||||
COPY --chown=netfishing:netfishing \
|
||||
/opt/straywild-server/
|
||||
COPY --chown=straywild:straywild \
|
||||
config/server.cfg.example /etc/straywild-server.cfg
|
||||
COPY --chown=straywild:straywild \
|
||||
dist/licenses/ \
|
||||
/opt/netfishing-server/licenses/
|
||||
/opt/straywild-server/licenses/
|
||||
|
||||
RUN chmod 0555 /opt/netfishing-server/NETfishingServer.x86_64 \
|
||||
&& chmod 0444 /opt/netfishing-server/NETfishingServer.pck \
|
||||
/opt/netfishing-server/BUILD_INFO \
|
||||
/opt/netfishing-server/SOURCE-CODE.md \
|
||||
/opt/netfishing-server/SHA256SUMS \
|
||||
/etc/netfishing-server.cfg \
|
||||
&& chmod 0444 /opt/netfishing-server/licenses/*
|
||||
RUN chmod 0555 /opt/straywild-server/straywildServer.x86_64 \
|
||||
&& chmod 0444 /opt/straywild-server/straywildServer.pck \
|
||||
/opt/straywild-server/BUILD_INFO \
|
||||
/opt/straywild-server/SOURCE-CODE.md \
|
||||
/opt/straywild-server/SHA256SUMS \
|
||||
/etc/straywild-server.cfg \
|
||||
&& chmod 0444 /opt/straywild-server/licenses/*
|
||||
|
||||
USER 10001:10001
|
||||
WORKDIR /opt/netfishing-server
|
||||
VOLUME ["/var/lib/netfishing-server"]
|
||||
WORKDIR /opt/straywild-server
|
||||
VOLUME ["/var/lib/straywild-server"]
|
||||
EXPOSE 7777/udp
|
||||
|
||||
ENTRYPOINT ["/opt/netfishing-server/NETfishingServer.x86_64"]
|
||||
CMD ["--", "--config=/etc/netfishing-server.cfg"]
|
||||
ENTRYPOINT ["/opt/straywild-server/straywildServer.x86_64"]
|
||||
CMD ["--", "--config=/etc/straywild-server.cfg"]
|
||||
|
|
|
|||
64
README.md
64
README.md
|
|
@ -1,10 +1,10 @@
|
|||
# NETfishing Dedicated Server
|
||||
# straywild Dedicated Server
|
||||
|
||||
This repository packages the headless NETfishing server produced by the main
|
||||
game project. Gameplay and networking code remain in the `netfishing`
|
||||
This repository packages the headless straywild server produced by the main
|
||||
game project. Gameplay and networking code remain in the `straywild`
|
||||
repository so clients and servers use the same protocol implementation.
|
||||
|
||||
Production tags follow the coordinated NETfishing release train. Package a
|
||||
Production tags follow the coordinated straywild release train. Package a
|
||||
game release with the same `vX.Y.Z-alpha` tag checked out in this repository.
|
||||
The package manifest records both the exact game commit and the exact dedicated
|
||||
packaging commit; packaging refuses to run when its matching release tag does
|
||||
|
|
@ -16,12 +16,12 @@ Export the `Linux Dedicated Server` preset from the game project, then stage
|
|||
its executable and PCK with the exact game version and source commit:
|
||||
|
||||
```sh
|
||||
game_commit="$(git -C ../netfishing rev-parse HEAD)"
|
||||
game_commit="$(git -C ../straywild rev-parse HEAD)"
|
||||
./scripts/stage-build.sh \
|
||||
../netfishing/builds/vX.Y.Z-alpha/server-linux-x86_64 \
|
||||
../straywild/builds/vX.Y.Z-alpha/server-linux-x86_64 \
|
||||
X.Y.Z-alpha \
|
||||
"${game_commit}" \
|
||||
../netfishing
|
||||
../straywild
|
||||
```
|
||||
|
||||
The staged binaries under `dist/` are release inputs and are intentionally not
|
||||
|
|
@ -46,13 +46,13 @@ both the archive and its adjacent `.sha256` file, then install it:
|
|||
|
||||
```sh
|
||||
sudo ./scripts/install-native-release.sh \
|
||||
packages/netfishing-dedicated-server-X.Y.Z-alpha-linux-x86_64.tar.gz \
|
||||
packages/netfishing-dedicated-server-X.Y.Z-alpha-linux-x86_64.tar.gz.sha256
|
||||
packages/straywild-dedicated-server-X.Y.Z-alpha-linux-x86_64.tar.gz \
|
||||
packages/straywild-dedicated-server-X.Y.Z-alpha-linux-x86_64.tar.gz.sha256
|
||||
```
|
||||
|
||||
Releases are immutable directories under `/opt/netfishing-server/releases`.
|
||||
Releases are immutable directories under `/opt/straywild-server/releases`.
|
||||
The installer verifies the outer archive hash, internal hashes, manifest, and
|
||||
platform before atomically changing `/opt/netfishing-server/current`. When the
|
||||
platform before atomically changing `/opt/straywild-server/current`. When the
|
||||
sample systemd unit is already active, a failed start automatically restores
|
||||
the prior release. Manually return to the recorded previous release with:
|
||||
|
||||
|
|
@ -60,9 +60,9 @@ the prior release. Manually return to the recorded previous release with:
|
|||
sudo ./scripts/rollback-native.sh
|
||||
```
|
||||
|
||||
Copy `config/server.cfg.example` to `/etc/netfishing-server.cfg` and adjust the
|
||||
Copy `config/server.cfg.example` to `/etc/straywild-server.cfg` and adjust the
|
||||
room name, UDP port, player limit, and public-listing preference. Set `TZ` in
|
||||
`/etc/netfishing-server.env` to an IANA timezone such as `America/New_York` when
|
||||
`/etc/straywild-server.env` to an IANA timezone such as `America/New_York` when
|
||||
the server's world should follow that region's wall clock and daylight-saving
|
||||
rules; the packaged default is `UTC`. The timezone must be present before the
|
||||
server process starts, so restart the service after changing it. Forward the
|
||||
|
|
@ -90,8 +90,8 @@ destroyed when that session ends.
|
|||
|
||||
A dedicated-server operator can explicitly opt into logging by setting
|
||||
`chat_logging=true` under `[privacy]`, setting
|
||||
`NETFISHING_CHAT_LOGGING=true`, or passing `--chat-logging`. The optional
|
||||
`chat_log_path`, `NETFISHING_CHAT_LOG_PATH`, or `--chat-log-path` setting must
|
||||
`straywild_CHAT_LOGGING=true`, or passing `--chat-logging`. The optional
|
||||
`chat_log_path`, `straywild_CHAT_LOG_PATH`, or `--chat-log-path` setting must
|
||||
be an absolute path; it defaults to `logs/chat.jsonl` inside the configured
|
||||
data directory. Players joining a server with logging enabled receive an
|
||||
in-game privacy warning. The JSON Lines log contains UTC timestamps, player
|
||||
|
|
@ -104,7 +104,7 @@ Headless moderation is granted by authenticated player identity, never by a
|
|||
display name or shared password. A player can copy their complete 64-character
|
||||
fingerprint from **Settings → Data & Identity → Copy Player Fingerprint**.
|
||||
|
||||
Add trusted fingerprints to `/etc/netfishing-server.cfg`:
|
||||
Add trusted fingerprints to `/etc/straywild-server.cfg`:
|
||||
|
||||
```ini
|
||||
[moderation]
|
||||
|
|
@ -112,7 +112,7 @@ operators=PackedStringArray("0123456789abcdef0123456789abcdef0123456789abcdef012
|
|||
```
|
||||
|
||||
Alternatively, provide a comma-separated list through
|
||||
`NETFISHING_SERVER_OPERATORS` or `--operators=fingerprint1,fingerprint2`.
|
||||
`straywild_SERVER_OPERATORS` or `--operators=fingerprint1,fingerprint2`.
|
||||
Configuration file values are overridden by the environment, then by the
|
||||
command line. Restart the server after changing the allowlist.
|
||||
|
||||
|
|
@ -126,10 +126,10 @@ stored bans.
|
|||
Public listing requires the discovery URL and a publicly reachable ENet UDP
|
||||
port. Discovery makes a server findable but does not relay gameplay traffic.
|
||||
|
||||
For a systemd installation, create a dedicated `netfishing` system user,
|
||||
For a systemd installation, create a dedicated `straywild` system user,
|
||||
install the sample configuration and environment files under `/etc`, and copy
|
||||
`systemd/netfishing-server.service` to the system unit directory. The unit runs
|
||||
the atomic `current` release link and expects `/var/lib/netfishing-server` to be
|
||||
`systemd/straywild-server.service` to the system unit directory. The unit runs
|
||||
the atomic `current` release link and expects `/var/lib/straywild-server` to be
|
||||
writable by that user. When migrating an older direct-path installation, stop
|
||||
the service, run the installer once, replace/reload the unit, and then start it.
|
||||
After that one-time migration, future upgrades can be applied while the unit
|
||||
|
|
@ -138,28 +138,28 @@ is running.
|
|||
For a direct foreground run from staged build inputs:
|
||||
|
||||
```sh
|
||||
./dist/NETfishingServer.x86_64 \
|
||||
./dist/straywildServer.x86_64 \
|
||||
-- \
|
||||
--config=/etc/netfishing-server.cfg \
|
||||
--data-dir=/var/lib/netfishing-server
|
||||
--config=/etc/straywild-server.cfg \
|
||||
--data-dir=/var/lib/straywild-server
|
||||
```
|
||||
|
||||
## Run with Docker Compose
|
||||
|
||||
```sh
|
||||
./scripts/stage-build.sh \
|
||||
../netfishing/builds/vX.Y.Z-alpha/server-linux-x86_64 \
|
||||
../straywild/builds/vX.Y.Z-alpha/server-linux-x86_64 \
|
||||
X.Y.Z-alpha \
|
||||
"$(git -C ../netfishing rev-parse HEAD)" \
|
||||
../netfishing
|
||||
"$(git -C ../straywild rev-parse HEAD)" \
|
||||
../straywild
|
||||
docker compose build
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
Set values such as `NETFISHING_SERVER_NAME`, `NETFISHING_SERVER_PORT`,
|
||||
`NETFISHING_SERVER_MAX_PLAYERS`, `NETFISHING_SERVER_PUBLIC`, `TZ`, and the
|
||||
optional comma-separated `NETFISHING_SERVER_OPERATORS` in a local `.env` file.
|
||||
Chat logging remains off unless `NETFISHING_CHAT_LOGGING=true` is explicitly
|
||||
Set values such as `straywild_SERVER_NAME`, `straywild_SERVER_PORT`,
|
||||
`straywild_SERVER_MAX_PLAYERS`, `straywild_SERVER_PUBLIC`, `TZ`, and the
|
||||
optional comma-separated `straywild_SERVER_OPERATORS` in a local `.env` file.
|
||||
Chat logging remains off unless `straywild_CHAT_LOGGING=true` is explicitly
|
||||
set. The Compose service runs without Linux capabilities, uses a read-only root
|
||||
filesystem, and stores persistent state in a named volume.
|
||||
|
||||
|
|
@ -177,10 +177,10 @@ server code are licensed under
|
|||
[GPL-3.0-or-later](LICENSE). Every binary package includes the license and a
|
||||
corresponding-source record for its exact game commit.
|
||||
|
||||
The server PCK contains NETfishing creative assets and third-party material.
|
||||
The server PCK contains straywild creative assets and third-party material.
|
||||
Their governing terms, credits, and provenance are maintained once in the
|
||||
main game's
|
||||
[`docs/ATTRIBUTION.md`](https://forge.makearmy.io/woofmeow/netfishing/src/branch/main/docs/ATTRIBUTION.md),
|
||||
[`docs/ATTRIBUTION.md`](https://forge.makearmy.io/woofmeow/straywild/src/branch/main/docs/ATTRIBUTION.md),
|
||||
with the asset license and trademark terms beside that record. Every staged
|
||||
server package copies those files from its exact game source commit.
|
||||
|
||||
|
|
|
|||
28
compose.yaml
28
compose.yaml
|
|
@ -1,5 +1,5 @@
|
|||
services:
|
||||
netfishing-server:
|
||||
straywild-server:
|
||||
build: .
|
||||
restart: unless-stopped
|
||||
init: true
|
||||
|
|
@ -9,23 +9,23 @@ services:
|
|||
security_opt:
|
||||
- no-new-privileges:true
|
||||
ports:
|
||||
- "${NETFISHING_SERVER_PORT:-7777}:${NETFISHING_SERVER_PORT:-7777}/udp"
|
||||
- "${straywild_SERVER_PORT:-7777}:${straywild_SERVER_PORT:-7777}/udp"
|
||||
environment:
|
||||
NETFISHING_SERVER_NAME: "${NETFISHING_SERVER_NAME:-NETfishing Dedicated Server}"
|
||||
NETFISHING_SERVER_BIND: "*"
|
||||
NETFISHING_SERVER_PORT: "${NETFISHING_SERVER_PORT:-7777}"
|
||||
NETFISHING_SERVER_MAX_PLAYERS: "${NETFISHING_SERVER_MAX_PLAYERS:-8}"
|
||||
NETFISHING_SERVER_PUBLIC: "${NETFISHING_SERVER_PUBLIC:-false}"
|
||||
NETFISHING_DISCOVERY_URL: "${NETFISHING_DISCOVERY_URL:-https://discovery.netfishing.org}"
|
||||
NETFISHING_DATA_DIR: /var/lib/netfishing-server
|
||||
NETFISHING_CHAT_LOGGING: "${NETFISHING_CHAT_LOGGING:-false}"
|
||||
NETFISHING_CHAT_LOG_PATH: "${NETFISHING_CHAT_LOG_PATH:-/var/lib/netfishing-server/logs/chat.jsonl}"
|
||||
straywild_SERVER_NAME: "${straywild_SERVER_NAME:-straywild Dedicated Server}"
|
||||
straywild_SERVER_BIND: "*"
|
||||
straywild_SERVER_PORT: "${straywild_SERVER_PORT:-7777}"
|
||||
straywild_SERVER_MAX_PLAYERS: "${straywild_SERVER_MAX_PLAYERS:-8}"
|
||||
straywild_SERVER_PUBLIC: "${straywild_SERVER_PUBLIC:-false}"
|
||||
straywild_DISCOVERY_URL: "${straywild_DISCOVERY_URL:-https://discovery.straywild.io}"
|
||||
straywild_DATA_DIR: /var/lib/straywild-server
|
||||
straywild_CHAT_LOGGING: "${straywild_CHAT_LOGGING:-false}"
|
||||
straywild_CHAT_LOG_PATH: "${straywild_CHAT_LOG_PATH:-/var/lib/straywild-server/logs/chat.jsonl}"
|
||||
TZ: "${TZ:-UTC}"
|
||||
NETFISHING_SERVER_OPERATORS: "${NETFISHING_SERVER_OPERATORS:-}"
|
||||
straywild_SERVER_OPERATORS: "${straywild_SERVER_OPERATORS:-}"
|
||||
volumes:
|
||||
- netfishing-server-data:/var/lib/netfishing-server
|
||||
- straywild-server-data:/var/lib/straywild-server
|
||||
tmpfs:
|
||||
- /tmp:rw,noexec,nosuid,size=64m
|
||||
|
||||
volumes:
|
||||
netfishing-server-data:
|
||||
straywild-server-data:
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
NETFISHING_SERVER_NAME="NETfishing Dedicated Server"
|
||||
NETFISHING_SERVER_BIND=*
|
||||
NETFISHING_SERVER_PORT=7777
|
||||
NETFISHING_SERVER_MAX_PLAYERS=8
|
||||
NETFISHING_SERVER_PUBLIC=false
|
||||
NETFISHING_DISCOVERY_URL=https://discovery.netfishing.org
|
||||
NETFISHING_DATA_DIR=/var/lib/netfishing-server
|
||||
NETFISHING_CHAT_LOGGING=false
|
||||
NETFISHING_CHAT_LOG_PATH=/var/lib/netfishing-server/logs/chat.jsonl
|
||||
TZ=UTC
|
||||
NETFISHING_SERVER_OPERATORS=
|
||||
|
|
@ -1,17 +1,17 @@
|
|||
[server]
|
||||
name="NETfishing Dedicated Server"
|
||||
name="straywild Dedicated Server"
|
||||
bind_address="*"
|
||||
port=7777
|
||||
max_players=8
|
||||
public=false
|
||||
data_directory="/var/lib/netfishing-server"
|
||||
data_directory="/var/lib/straywild-server"
|
||||
|
||||
[discovery]
|
||||
url="https://discovery.netfishing.org"
|
||||
url="https://discovery.straywild.io"
|
||||
|
||||
[privacy]
|
||||
chat_logging=false
|
||||
chat_log_path="/var/lib/netfishing-server/logs/chat.jsonl"
|
||||
chat_log_path="/var/lib/straywild-server/logs/chat.jsonl"
|
||||
|
||||
[moderation]
|
||||
operators=PackedStringArray()
|
||||
|
|
|
|||
11
config/straywild-server.env.example
Normal file
11
config/straywild-server.env.example
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
straywild_SERVER_NAME="straywild Dedicated Server"
|
||||
straywild_SERVER_BIND=*
|
||||
straywild_SERVER_PORT=7777
|
||||
straywild_SERVER_MAX_PLAYERS=8
|
||||
straywild_SERVER_PUBLIC=false
|
||||
straywild_DISCOVERY_URL=https://discovery.straywild.io
|
||||
straywild_DATA_DIR=/var/lib/straywild-server
|
||||
straywild_CHAT_LOGGING=false
|
||||
straywild_CHAT_LOG_PATH=/var/lib/straywild-server/logs/chat.jsonl
|
||||
TZ=UTC
|
||||
straywild_SERVER_OPERATORS=
|
||||
|
|
@ -12,15 +12,15 @@ fi
|
|||
|
||||
archive_path="$(readlink -f -- "$1")"
|
||||
checksum_input="$2"
|
||||
install_root="${NETFISHING_INSTALL_ROOT:-/opt/netfishing-server}"
|
||||
service_name="${NETFISHING_SERVICE_NAME:-netfishing-server.service}"
|
||||
install_root="${straywild_INSTALL_ROOT:-/opt/straywild-server}"
|
||||
service_name="${straywild_SERVICE_NAME:-straywild-server.service}"
|
||||
|
||||
if [[ ! -f "${archive_path}" ]]; then
|
||||
echo "Archive not found: $1" >&2
|
||||
exit 1
|
||||
fi
|
||||
if [[ "${install_root}" != /* || "${install_root}" == "/" ]]; then
|
||||
echo "NETFISHING_INSTALL_ROOT must be a specific absolute directory." >&2
|
||||
echo "straywild_INSTALL_ROOT must be a specific absolute directory." >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
|
|
@ -42,7 +42,7 @@ if [[ "${actual_sha256}" != "${expected_sha256}" ]]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
work_dir="$(mktemp -d /tmp/netfishing-server-install.XXXXXX)"
|
||||
work_dir="$(mktemp -d /tmp/straywild-server-install.XXXXXX)"
|
||||
release_stage=""
|
||||
cleanup() {
|
||||
if [[ -n "${release_stage}" && -d "${release_stage}" ]]; then
|
||||
|
|
@ -85,7 +85,7 @@ if [[ -n "$(find "${payload_dir}" -type l -print -quit)" ]]; then
|
|||
echo "Archive payload may not contain symbolic links." >&2
|
||||
exit 1
|
||||
fi
|
||||
for filename in NETfishingServer.x86_64 NETfishingServer.pck BUILD_INFO SHA256SUMS; do
|
||||
for filename in straywildServer.x86_64 straywildServer.pck BUILD_INFO SHA256SUMS; do
|
||||
if [[ ! -f "${payload_dir}/${filename}" ]]; then
|
||||
echo "Archive is missing ${filename}." >&2
|
||||
exit 1
|
||||
|
|
@ -169,8 +169,8 @@ if [[ -e "${release_dir}" ]]; then
|
|||
(cd -- "${release_dir}" && sha256sum -c SHA256SUMS)
|
||||
else
|
||||
release_stage="$(mktemp -d "${releases_dir}/.incoming.XXXXXX")"
|
||||
install -m 0555 "${payload_dir}/NETfishingServer.x86_64" "${release_stage}/"
|
||||
install -m 0444 "${payload_dir}/NETfishingServer.pck" "${release_stage}/"
|
||||
install -m 0555 "${payload_dir}/straywildServer.x86_64" "${release_stage}/"
|
||||
install -m 0444 "${payload_dir}/straywildServer.pck" "${release_stage}/"
|
||||
install -m 0444 "${payload_dir}/BUILD_INFO" "${release_stage}/"
|
||||
install -m 0444 "${payload_dir}/SHA256SUMS" "${release_stage}/"
|
||||
install -m 0444 "${payload_dir}/SOURCE-CODE.md" "${release_stage}/"
|
||||
|
|
@ -207,7 +207,7 @@ if command -v systemctl >/dev/null && systemctl cat "${service_name}" >/dev/null
|
|||
if systemctl is-active --quiet "${service_name}"; then
|
||||
service_active=true
|
||||
unit_text="$(systemctl cat "${service_name}")"
|
||||
if [[ "${unit_text}" != *"${install_root}/current/NETfishingServer.x86_64"* ]]; then
|
||||
if [[ "${unit_text}" != *"${install_root}/current/straywildServer.x86_64"* ]]; then
|
||||
echo "Active ${service_name} does not use the current-release symlink." >&2
|
||||
echo "Migrate the unit while stopped before using this updater." >&2
|
||||
exit 1
|
||||
|
|
@ -244,7 +244,7 @@ if [[ -n "${old_current}" && "${old_current}" != "${release_dir}" ]]; then
|
|||
replace_symlink "${old_current}" "${install_root}/previous"
|
||||
fi
|
||||
|
||||
echo "Installed NETfishing dedicated server ${game_version} (${game_commit})."
|
||||
echo "Installed straywild dedicated server ${game_version} (${game_commit})."
|
||||
if [[ -n "${packaging_commit}" ]]; then
|
||||
echo "Dedicated packaging commit: ${packaging_commit}."
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ fi
|
|||
repository_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
dist_dir="${repository_dir}/dist"
|
||||
packages_dir="${repository_dir}/packages"
|
||||
package_name="netfishing-dedicated-server-${version}-linux-x86_64"
|
||||
package_name="straywild-dedicated-server-${version}-linux-x86_64"
|
||||
staging_dir="$(mktemp -d)"
|
||||
trap 'rm -rf -- "${staging_dir}"' EXIT
|
||||
|
||||
|
|
@ -25,8 +25,8 @@ if ! git -C "${repository_dir}" diff --quiet \
|
|||
fi
|
||||
|
||||
for filename in \
|
||||
NETfishingServer.x86_64 \
|
||||
NETfishingServer.pck \
|
||||
straywildServer.x86_64 \
|
||||
straywildServer.pck \
|
||||
BUILD_INFO \
|
||||
SOURCE-CODE.md \
|
||||
SHA256SUMS; do
|
||||
|
|
@ -78,10 +78,10 @@ fi
|
|||
(cd -- "${dist_dir}" && sha256sum -c SHA256SUMS)
|
||||
|
||||
install -d "${staging_dir}/${package_name}"
|
||||
install -m 0755 "${dist_dir}/NETfishingServer.x86_64" \
|
||||
"${staging_dir}/${package_name}/NETfishingServer.x86_64"
|
||||
install -m 0644 "${dist_dir}/NETfishingServer.pck" \
|
||||
"${staging_dir}/${package_name}/NETfishingServer.pck"
|
||||
install -m 0755 "${dist_dir}/straywildServer.x86_64" \
|
||||
"${staging_dir}/${package_name}/straywildServer.x86_64"
|
||||
install -m 0644 "${dist_dir}/straywildServer.pck" \
|
||||
"${staging_dir}/${package_name}/straywildServer.pck"
|
||||
install -m 0644 "${dist_dir}/BUILD_INFO" \
|
||||
"${staging_dir}/${package_name}/BUILD_INFO"
|
||||
install -m 0644 "${dist_dir}/SHA256SUMS" \
|
||||
|
|
|
|||
|
|
@ -10,12 +10,12 @@ if [[ ${EUID} -ne 0 ]]; then
|
|||
exit 2
|
||||
fi
|
||||
|
||||
install_root="${NETFISHING_INSTALL_ROOT:-/opt/netfishing-server}"
|
||||
service_name="${NETFISHING_SERVICE_NAME:-netfishing-server.service}"
|
||||
install_root="${straywild_INSTALL_ROOT:-/opt/straywild-server}"
|
||||
service_name="${straywild_SERVICE_NAME:-straywild-server.service}"
|
||||
releases_dir="${install_root}/releases"
|
||||
|
||||
if [[ "${install_root}" != /* || "${install_root}" == "/" ]]; then
|
||||
echo "NETFISHING_INSTALL_ROOT must be a specific absolute directory." >&2
|
||||
echo "straywild_INSTALL_ROOT must be a specific absolute directory." >&2
|
||||
exit 2
|
||||
fi
|
||||
if [[ ! -L "${install_root}/current" || ! -L "${install_root}/previous" ]]; then
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
set -euo pipefail
|
||||
|
||||
if [[ $# -ne 4 ]]; then
|
||||
echo "Usage: $0 /path/to/server-linux-x86_64 GAME_VERSION GAME_COMMIT /path/to/netfishing" >&2
|
||||
echo "Usage: $0 /path/to/server-linux-x86_64 GAME_VERSION GAME_COMMIT /path/to/straywild" >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
|
|
@ -30,17 +30,17 @@ if [[ ! "${game_commit}" =~ ^[0-9a-f]{40}$ ]]; then
|
|||
exit 2
|
||||
fi
|
||||
if [[ ! -f "${game_repository}/project.godot" ]]; then
|
||||
echo "The NETfishing game repository was not found: ${game_repository}" >&2
|
||||
echo "The straywild game repository was not found: ${game_repository}" >&2
|
||||
exit 2
|
||||
fi
|
||||
resolved_game_commit="$(git -C "${game_repository}" rev-parse HEAD)"
|
||||
if [[ "${resolved_game_commit}" != "${game_commit}" ]]; then
|
||||
echo "The NETfishing repository HEAD does not match GAME_COMMIT." >&2
|
||||
echo "The straywild repository HEAD does not match GAME_COMMIT." >&2
|
||||
exit 2
|
||||
fi
|
||||
if ! git -C "${game_repository}" diff --quiet \
|
||||
|| ! git -C "${game_repository}" diff --cached --quiet; then
|
||||
echo "The NETfishing repository must be clean before staging notices." >&2
|
||||
echo "The straywild repository must be clean before staging notices." >&2
|
||||
exit 1
|
||||
fi
|
||||
if [[ ! "${packaging_commit}" =~ ^[0-9a-f]{40}$ ]]; then
|
||||
|
|
@ -48,7 +48,7 @@ if [[ ! "${packaging_commit}" =~ ^[0-9a-f]{40}$ ]]; then
|
|||
exit 2
|
||||
fi
|
||||
|
||||
for filename in NETfishingServer.x86_64 NETfishingServer.pck; do
|
||||
for filename in straywildServer.x86_64 straywildServer.pck; do
|
||||
if [[ ! -f "${source_dir}/${filename}" ]]; then
|
||||
echo "Missing ${source_dir}/${filename}" >&2
|
||||
exit 1
|
||||
|
|
@ -56,10 +56,10 @@ for filename in NETfishingServer.x86_64 NETfishingServer.pck; do
|
|||
done
|
||||
|
||||
install -d -m 0755 "${destination_dir}"
|
||||
install -m 0755 "${source_dir}/NETfishingServer.x86_64" \
|
||||
"${destination_dir}/NETfishingServer.x86_64"
|
||||
install -m 0644 "${source_dir}/NETfishingServer.pck" \
|
||||
"${destination_dir}/NETfishingServer.pck"
|
||||
install -m 0755 "${source_dir}/straywildServer.x86_64" \
|
||||
"${destination_dir}/straywildServer.x86_64"
|
||||
install -m 0644 "${source_dir}/straywildServer.pck" \
|
||||
"${destination_dir}/straywildServer.pck"
|
||||
rm -rf -- "${licenses_dir}"
|
||||
install -d -m 0755 "${licenses_dir}"
|
||||
install -m 0644 "${game_repository}/LICENSE" \
|
||||
|
|
@ -76,8 +76,8 @@ install -m 0644 "${game_repository}/ui/fonts/Seattle-Avenue-LICENSE.txt" \
|
|||
"${licenses_dir}/Seattle-Avenue-LICENSE.txt"
|
||||
|
||||
cd -- "${destination_dir}"
|
||||
executable_sha256="$(sha256sum NETfishingServer.x86_64 | awk '{print $1}')"
|
||||
pck_sha256="$(sha256sum NETfishingServer.pck | awk '{print $1}')"
|
||||
executable_sha256="$(sha256sum straywildServer.x86_64 | awk '{print $1}')"
|
||||
pck_sha256="$(sha256sum straywildServer.pck | awk '{print $1}')"
|
||||
|
||||
apply_umask="$(umask)"
|
||||
umask 022
|
||||
|
|
@ -94,19 +94,19 @@ printf '%s\n' \
|
|||
cat >SOURCE-CODE.md <<EOF
|
||||
# Corresponding source
|
||||
|
||||
NETfishing dedicated game-server code is licensed under GPL-3.0-or-later.
|
||||
straywild dedicated game-server code is licensed under GPL-3.0-or-later.
|
||||
|
||||
Source repository: https://forge.makearmy.io/woofmeow/netfishing
|
||||
Source repository: https://forge.makearmy.io/woofmeow/straywild
|
||||
Exact game source revision: ${game_commit}
|
||||
|
||||
Packaging source:
|
||||
https://forge.makearmy.io/woofmeow/netfishing-dedicated-server
|
||||
https://forge.makearmy.io/woofmeow/straywild-dedicated-server
|
||||
Exact packaging source revision: ${packaging_commit}
|
||||
EOF
|
||||
umask "${apply_umask}"
|
||||
sha256sum \
|
||||
NETfishingServer.x86_64 \
|
||||
NETfishingServer.pck \
|
||||
straywildServer.x86_64 \
|
||||
straywildServer.pck \
|
||||
BUILD_INFO \
|
||||
SOURCE-CODE.md \
|
||||
licenses/GPL-3.0-or-later.txt \
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
"appbuild"
|
||||
{
|
||||
"appid" "<SERVER_TOOL_APP_ID>"
|
||||
"desc" "NETfishing Dedicated Server"
|
||||
"desc" "straywild Dedicated Server"
|
||||
"buildoutput" "output"
|
||||
"contentroot" "../dist"
|
||||
"setlive" ""
|
||||
|
|
|
|||
|
|
@ -1,23 +1,23 @@
|
|||
[Unit]
|
||||
Description=NETfishing Dedicated Server
|
||||
Description=straywild Dedicated Server
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=netfishing
|
||||
Group=netfishing
|
||||
WorkingDirectory=/opt/netfishing-server/current
|
||||
User=straywild
|
||||
Group=straywild
|
||||
WorkingDirectory=/opt/straywild-server/current
|
||||
Environment=TZ=UTC
|
||||
EnvironmentFile=-/etc/netfishing-server.env
|
||||
ExecStart=/opt/netfishing-server/current/NETfishingServer.x86_64 -- --config=/etc/netfishing-server.cfg
|
||||
EnvironmentFile=-/etc/straywild-server.env
|
||||
ExecStart=/opt/straywild-server/current/straywildServer.x86_64 -- --config=/etc/straywild-server.cfg
|
||||
Restart=on-failure
|
||||
RestartSec=5
|
||||
NoNewPrivileges=true
|
||||
PrivateTmp=true
|
||||
ProtectSystem=strict
|
||||
ProtectHome=true
|
||||
ReadWritePaths=/var/lib/netfishing-server
|
||||
ReadWritePaths=/var/lib/straywild-server
|
||||
CapabilityBoundingSet=
|
||||
RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue