diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5d898e4 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,9 @@ +FROM alpine:latest + +WORKDIR /gopenfusion + +# grab binary +COPY ./bin/server ./ +RUN chmod +x ./server + +CMD ["/gopenfusion/server"] \ No newline at end of file diff --git a/README.md b/README.md index 561ab68..aa37531 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,15 @@ A toy implementation of the [Fusionfall Packet Protocol](https://openpunk.com/pa An implementation of a landwalker server is located in `login/` && `shard/`. This includes a functional login server and a dummy shard (supporting the minimum amount of packets necessary). The DB implementation in `core/db/` matches the OpenFusion 1.4 SQLite tables, which the login server uses. There's no support for NPCs nor other players, and is liable to softlock the client. +Startup the environment using + +```sh +$ chmod +x ./build.sh && ./build.sh +$ docker compose up +``` + +login server is hosted at `127.0.0.1:23000`, just join from your [favorite client](https://github.com/OpenFusionProject/OpenFusion/releases/latest) + ## Generating structures -Dump and decompile the `Assembly - CSharp.dll` assembly from the fusionfall main.unity3d, using a tool like [ilspycmd](https://www.nuget.org/packages/ilspycmd/). The full output source can then be passed to `genstructs.py` script located in `tools/`, which will handle scraping constants and calculating structure padding. See the script for details on usage. \ No newline at end of file +Dump and decompile the `Assembly - CSharp.dll` assembly from the fusionfall main.unity3d, using a tool like [ilspycmd](https://www.nuget.org/packages/ilspycmd/). The full output source can then be passed to `genstructs.py` script located in `tools/`, which will handle scraping constants and calculating structure padding. See the script for details on usage. diff --git a/compose.yaml b/compose.yaml new file mode 100644 index 0000000..8e20a2b --- /dev/null +++ b/compose.yaml @@ -0,0 +1,19 @@ + +services: + # redis: + # image: 'redislabs/redismod' + # ports: + # - '6379:6379' + login: + restart: on-failure + build: . + hostname: login + ports: + - '23001:23001' + - '23000:23000' + # shard0: + # restart: on-failure + # build: . + # hostname: shard0 + # ports: + # - '23001:23001'