started docker image

This commit is contained in:
unknown 2023-06-20 02:12:15 -05:00
parent 727c68aef3
commit e4cf64d7bc
3 changed files with 38 additions and 1 deletions

9
Dockerfile Normal file
View File

@ -0,0 +1,9 @@
FROM alpine:latest
WORKDIR /gopenfusion
# grab binary
COPY ./bin/server ./
RUN chmod +x ./server
CMD ["/gopenfusion/server"]

View File

@ -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.

19
compose.yaml Normal file
View File

@ -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'