A toy implementation of the FusionFall Packet Protocol in Go
Go to file
CPunch 1357de99aa server: started ShardServer
- protocol: added GenSerialKey() which securely generates an EnterSerialKey
- login server accepts a shard via LoginServer.AddShard()
- login server will pass LoginMetaData to the selected shard via ShardServer.QueueLogin()
- misc. refactoring
2023-03-17 16:27:47 -05:00
config server: started ShardServer 2023-03-17 16:27:47 -05:00
db server: started ShardServer 2023-03-17 16:27:47 -05:00
protocol server: started ShardServer 2023-03-17 16:27:47 -05:00
server server: started ShardServer 2023-03-17 16:27:47 -05:00
tools refactoring; moved client to protocol package 2023-03-07 17:04:57 -06:00
util update module name to reflect repo 2023-03-10 01:02:28 -06:00
.gitignore removed test.db 2023-03-09 15:33:39 -06:00
build.sh server: split LoginServer, new Server interface 2023-03-07 14:47:49 -06:00
go.mod update module name to reflect repo 2023-03-10 01:02:28 -06:00
go.sum major refactoring; started DB 2023-03-09 01:48:13 -06:00
main.go server: started ShardServer 2023-03-17 16:27:47 -05:00
README.md updated README 2023-03-10 00:58:29 -06:00

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.