mirror of
https://github.com/CPunch/gopenfusion.git
synced 2024-11-21 15:00:07 +00:00
A toy implementation of the FusionFall Packet Protocol in Go
CPunch
850dd59967
- server/loginServer: no longer sending packets by pointer, except in cases like AcceptLogin(), which operates on a sent structure slice. since these are already allocated, no need to copy them |
||
---|---|---|
config | ||
db | ||
protocol | ||
server | ||
tools | ||
util | ||
.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.