Skip to content

Phantasy Star Online

Free Server

fuzziqersoftware/newserv
Phantasy Star Online game server and proxy
thedancingfetus/Private-PSO
Tools and instructions to play Phantasy Star Online (GC Version)
위의 newserv 를 사용하여 docker로 빌드한 이미지 배포
fuzziqersoftware/tapserver
tap-like network interface provider, sort of like TunTap (tuntaposx)
tapserver - 뭐하는건지 나중에 확인.

newserv dockerfile

FROM ubuntu:22.04 as builder

MAINTAINER Gered King <[email protected]>

ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && \
    apt-get install -y build-essential git && \
    apt-get install -y libevent-dev libz-dev && \
    apt-get install -y cmake python2 python3

WORKDIR /tmp

RUN git clone https://github.com/fuzziqersoftware/phosg.git && \
    cd phosg && \
    cmake . && \
    make && \
    make install && \
    cd ..
RUN git clone https://github.com/fuzziqersoftware/resource_dasm.git && \
    cd resource_dasm && \
    cmake . && \
    make && \
    make install && \
    cd ..
RUN git clone https://github.com/fuzziqersoftware/newserv.git && \
    cd newserv && \
    cmake -B ./build -DCMAKE_BUILD_TYPE=Release && \
    cmake --build ./build --config Release && \
    cd ..

FROM ubuntu:22.04

ENV HOME /newserv
ENV SUDO_USER root

WORKDIR /newserv

RUN apt-get update && \
    apt-get install -y libevent-dev

COPY --from=builder /tmp/newserv/build/newserv .
COPY --from=builder /tmp/newserv/system ./system

ADD config.json /newserv/system/config.json

VOLUME /newserv/system/config.json
VOLUME /newserv/system/licenses.nsi

# built in DNS for gamecube
EXPOSE 53/udp

# gc-jp10   | GC    | LoginServer
EXPOSE 9000/tcp
# gc-jp11   | GC    | LoginServer
EXPOSE 9001/tcp
# gc-jp3    | GC    | LoginServer
EXPOSE 9003/tcp
# gc-us10   | PC    | SplitReconnect
EXPOSE 9100/tcp
# gc-us3    | GC    | LoginServer
EXPOSE 9103/tcp
# gc-eu10   | GC    | LoginServer
EXPOSE 9200/tcp
# gc-eu11   | GC    | LoginServer
EXPOSE 9201/tcp
# gc-eu3    | GC    | LoginServer
EXPOSE 9203/tcp
# pc-login  | PC    | LoginServer
EXPOSE 9300/tcp
# pc-patch  | Patch | PatchServer
EXPOSE 10000/tcp
# bb-patch  | Patch | PatchServer
EXPOSE 11000/tcp
# bb-data   | BB    | DataServerBB
EXPOSE 12000/tcp

# bb-data1  | BB    | DataServerBB
EXPOSE 12004/tcp
# bb-data2  | BB    | DataServerBB
EXPOSE 12005/tcp
# bb-login  | BB    | LoginServer
EXPOSE 12008/tcp
# pc-lobby  | PC    | LobbyServer
EXPOSE 9420/tcp
# gc-lobby  | GC    | LobbyServer
EXPOSE 9421/tcp
# bb-lobby  | GC    | LobbyServer
EXPOSE 9422

CMD ["./newserv"]

빌드:

docker build -t psoserv:latest .

실행:

touch licenses.nsi
docker run --rm -it --network host \
    -v ${PWD}/config.json:/newserv/system/config.json \
    -v ${PWD}/licenses.nsi:/newserv/system/licenses.nsi \
    psoserv:latest

config.json의 중요 속성:

{
  "LocalAddress": "192.168.1.209",
  "ExternalAddress": "192.168.1.209",
  "DNSServerPort": 53,
  "ProxyAllowSaveFiles": true,
}

라이센스 추가:

add-license serial=1111111111 access-key=222222222222 gc-password=12345678

See also

Favorite site