gopenfusion/README.md
2023-08-23 18:05:03 -05:00

1.1 KiB

gopenfusion

A toy implementation of the Fusionfall Packet Protocol and accompanying services, written in Go.

Landwalker demo

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). There is minimal support for NPCs, and minimal support for player interaction (chat & player movement being mostly it).

Startup the environment using

$ 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

Generating structures

Dump and decompile the Assembly - CSharp.dll assembly from the fusionfall main.unity3d, using a tool like 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.