Compare commits
5 Commits
a76d513659
...
a3bd1ac2e6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a3bd1ac2e6 | ||
|
|
9436bb2faf | ||
|
|
d4d22e987b | ||
|
|
1cc3baf58b | ||
|
|
ad8fcae10c |
@@ -90,7 +90,7 @@ services:
|
||||
dockerfile: Dockerfile
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
SHARD_IP: ${PUBLIC_HOST:-192.168.10.234}
|
||||
SHARD_IP: 192.168.10.234
|
||||
MOTD: ${OPENFUSION_MOTD:-Bienvenido a Project Afterlife - FusionFall Academy}
|
||||
ports:
|
||||
- "23000:23000"
|
||||
@@ -172,6 +172,62 @@ services:
|
||||
volumes:
|
||||
- afc_bridge_data:/data
|
||||
|
||||
sm64coopdx:
|
||||
build:
|
||||
context: ../servers/sm64coopdx
|
||||
dockerfile: Dockerfile
|
||||
restart: unless-stopped
|
||||
container_name: sm64coopdx
|
||||
environment:
|
||||
SM64_PORT: ${SM64_PORT:-7777}
|
||||
SM64_PLAYERS: ${SM64_PLAYERS:-16}
|
||||
ports:
|
||||
- "7777:7777/udp"
|
||||
volumes:
|
||||
- sm64_save:/server/save
|
||||
- sm64_mods:/server/mods
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 2G
|
||||
|
||||
n64-netplay:
|
||||
image: k4rian/gopher64-netplay-server:latest
|
||||
container_name: n64-netplay
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
G64NS_NAME: "Afterlife N64 - Mario Party"
|
||||
G64NS_PORT: 45000
|
||||
G64NS_MAXGAMES: 4
|
||||
G64NS_MOTD: "Bienvenido a Project Afterlife - Mario Party N64"
|
||||
G64NS_LOGPATH: "gopher64-server.log"
|
||||
G64NS_DISABLEBROADCAST: "false"
|
||||
G64NS_ENABLEAUTH: "false"
|
||||
ports:
|
||||
- "45000-45004:45000-45004/tcp"
|
||||
- "45000-45004:45000-45004/udp"
|
||||
volumes:
|
||||
- n64_netplay_data:/home/gopher64
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 128M
|
||||
|
||||
dolphin-traversal:
|
||||
build:
|
||||
context: ../servers/dolphin-traversal
|
||||
dockerfile: Dockerfile
|
||||
container_name: dolphin-traversal
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "6262:6262/udp"
|
||||
- "6226:6226/udp"
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 64M
|
||||
|
||||
volumes:
|
||||
postgres_data:
|
||||
minio_data:
|
||||
@@ -179,6 +235,9 @@ volumes:
|
||||
minecraft_ftb_data:
|
||||
geth_data:
|
||||
afc_bridge_data:
|
||||
sm64_save:
|
||||
sm64_mods:
|
||||
n64_netplay_data:
|
||||
certbot_etc:
|
||||
external: true
|
||||
name: docker_certbot_etc
|
||||
|
||||
@@ -52,6 +52,7 @@ services:
|
||||
- ../servers/maple2/.env
|
||||
environment:
|
||||
DB_IP: maple2-mysql
|
||||
GRPC_LOGIN_IP: maple2-login
|
||||
|
||||
maple2-login:
|
||||
build:
|
||||
@@ -104,15 +105,15 @@ services:
|
||||
maple2-world:
|
||||
condition: service_started
|
||||
ports:
|
||||
- "20002:20002"
|
||||
- "21002:21002"
|
||||
- "20003:20003"
|
||||
- "21003:21003"
|
||||
env_file:
|
||||
- ../servers/maple2/.env
|
||||
environment:
|
||||
DB_IP: maple2-mysql
|
||||
GRPC_GAME_IP: maple2-game-ch0
|
||||
GRPC_WORLD_IP: maple2-world
|
||||
INSTANCED_CONTENT: "true"
|
||||
INSTANCED_CONTENT: "false"
|
||||
|
||||
volumes:
|
||||
maple2_mysql:
|
||||
|
||||
2
servers/dolphin-traversal/.dockerignore
Normal file
2
servers/dolphin-traversal/.dockerignore
Normal file
@@ -0,0 +1,2 @@
|
||||
*.md
|
||||
.git
|
||||
51
servers/dolphin-traversal/Dockerfile
Normal file
51
servers/dolphin-traversal/Dockerfile
Normal file
@@ -0,0 +1,51 @@
|
||||
# Dolphin Emulator Traversal Server
|
||||
# Lightweight NAT hole-punching relay for Dolphin netplay
|
||||
# Supports ALL GameCube/Wii games via Dolphin
|
||||
|
||||
# --- Build stage ---
|
||||
FROM debian:bookworm AS build
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
build-essential cmake git pkg-config \
|
||||
libfmt-dev libenet-dev libcurl4-openssl-dev \
|
||||
libbz2-dev liblzma-dev libzstd-dev zlib1g-dev \
|
||||
liblzo2-dev liblz4-dev libspng-dev \
|
||||
libusb-1.0-0-dev libevdev-dev libpugixml-dev libxxhash-dev \
|
||||
libminiupnpc-dev libhidapi-dev libsystemd-dev libudev-dev \
|
||||
glslang-dev glslang-tools \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /dolphin
|
||||
|
||||
RUN git clone --depth 1 https://github.com/dolphin-emu/dolphin.git . \
|
||||
&& git submodule update --init --recursive --depth 1
|
||||
|
||||
RUN mkdir build && cd build && cmake .. \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DENABLE_QT=OFF \
|
||||
-DENABLE_NOGUI=OFF \
|
||||
-DENABLE_CLI=OFF \
|
||||
-DENABLE_TESTS=OFF \
|
||||
-DUSE_DISCORD_PRESENCE=OFF \
|
||||
-DENABLE_AUTOUPDATE=OFF \
|
||||
-DENABLE_ANALYTICS=OFF
|
||||
|
||||
RUN cd build && cmake --build . --target traversal_server -j$(nproc)
|
||||
|
||||
# --- Runtime stage ---
|
||||
FROM debian:bookworm-slim
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
libfmt9 libstdc++6 \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN useradd -r -s /bin/false dolphin
|
||||
|
||||
COPY --from=build /dolphin/build/Binaries/traversal_server /usr/local/bin/traversal_server
|
||||
|
||||
USER dolphin
|
||||
|
||||
EXPOSE 6262/udp
|
||||
EXPOSE 6226/udp
|
||||
|
||||
CMD ["traversal_server"]
|
||||
@@ -1,5 +1,5 @@
|
||||
# OpenFusion Server Configuration (Docker)
|
||||
verbosity=1
|
||||
verbosity=3
|
||||
sandbox=false
|
||||
|
||||
[login]
|
||||
|
||||
2
servers/sm64coopdx/.dockerignore
Normal file
2
servers/sm64coopdx/.dockerignore
Normal file
@@ -0,0 +1,2 @@
|
||||
*.md
|
||||
.git
|
||||
4
servers/sm64coopdx/.gitignore
vendored
Normal file
4
servers/sm64coopdx/.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
# SM64 ROM — copyrighted, not distributable
|
||||
*.z64
|
||||
*.n64
|
||||
*.v64
|
||||
57
servers/sm64coopdx/Dockerfile
Normal file
57
servers/sm64coopdx/Dockerfile
Normal file
@@ -0,0 +1,57 @@
|
||||
# sm64coopdx headless dedicated server
|
||||
# Requires baserom.us.z64 (SM64 US ROM) in build context
|
||||
|
||||
# --- Build stage ---
|
||||
FROM ubuntu:jammy AS build
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
binutils-mips-linux-gnu \
|
||||
bsdmainutils \
|
||||
build-essential \
|
||||
libcapstone-dev \
|
||||
pkgconf \
|
||||
python3 \
|
||||
libz-dev \
|
||||
libcurl4-openssl-dev \
|
||||
git \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /sm64
|
||||
|
||||
RUN git clone --depth 1 https://github.com/coop-deluxe/sm64coopdx.git .
|
||||
|
||||
COPY baserom.us.z64 .
|
||||
|
||||
# Patch: add missing float.h include (GCC 11 strictness)
|
||||
RUN sed -i '1i #include <float.h>' src/engine/math_util.c
|
||||
|
||||
# Patch: fix platform.c fallback — upstream renamed functions but forgot the #else branch
|
||||
RUN sed -i 's/const char \*sys_exe_path(void) {/const char *sys_exe_path_dir(void) {\n return ".";\n}\n\nconst char *sys_resource_path(void) {\n return ".";\n}\n\nconst char *sys_exe_path(void) {/' src/pc/platform.c
|
||||
|
||||
RUN make HEADLESS=1 DISCORD_SDK=0 COOPNET=0 -j$(nproc)
|
||||
|
||||
# --- Runtime stage ---
|
||||
FROM ubuntu:jammy
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
libcurl4 \
|
||||
libz1 \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN useradd -m -s /bin/bash sm64
|
||||
|
||||
WORKDIR /server
|
||||
|
||||
COPY --from=build /sm64/build/us_pc/ .
|
||||
COPY --from=build /sm64/baserom.us.z64 .
|
||||
|
||||
RUN mkdir -p /server/mods /server/save && chown -R sm64:sm64 /server
|
||||
|
||||
USER sm64
|
||||
|
||||
EXPOSE 7777/udp
|
||||
|
||||
ENV SM64_PORT=7777
|
||||
ENV SM64_PLAYERS=16
|
||||
|
||||
ENTRYPOINT ["sh", "-c", "./sm64coopdx --server ${SM64_PORT} --headless --playercount ${SM64_PLAYERS} --skip-intro"]
|
||||
Reference in New Issue
Block a user