mirror of
https://github.com/CPunch/gopenfusion.git
synced 2024-11-24 00:00:18 +00:00
A toy implementation of the FusionFall Packet Protocol in Go
CPunch
bb29a988b3
- the shard's ip sent to the client via the login server is currently hardcoded in config/config.go - no packets other than P_CL2FE_REQ_PC_ENTER and P_CL2FE_REQ_PC_LOADING_COMPLETE are supported via the shard server |
||
---|---|---|
config | ||
core | ||
server | ||
tools | ||
.gitignore | ||
build.sh | ||
go.mod | ||
go.sum | ||
main.go | ||
README.md |
gopenfusion
A toy implementation of the Fusionfall Packet Protocol written in Go.
Login Sever
An example login server implementation exists in server/
. This implementation should be compatible with existing OpenFusion databases, however this only exists as an example and doesn't direct clients to a shard server (they're softlocked after the tutorial, or during character selection).
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.