Skip to content

LittleToonCat/OtpGo

Repository files navigation

OtpGo

OtpGo is an OTP (Online Theme Park) server written in Go.

Its goal is to implement the original OTP messages and to maintain accuracy with the original Disney MMO clients: Toontown Online, Pirates of the Caribbean Online, World of Cars Online, and Pixie Hollow. It is based on nosyliam's unfinished AstronGo project, but heavily modified to support our goals.

It uses cgo and SWIG to compile and run Panda3D's DC parser and packer from Rocket's otp-with-decompile fork. This is done to maintain compatibility with original game clients, and allows stuff not currently compatible with Astron's parser (e.g. deprecated "uintarray" simple parameter types, used in Toontown; switch statement cases, used in Pirates Online, see the example here).

This project uses GopherLua to implement a Lua5.1(+ goto statement in Lua5.2) VM which can be used to extand functionaility of OtpGo by writing your own Client message handler or game-specific custom roles.

Astron's Readme provides a really good description at how the OTP server works internally.

The entire documentation and unit tests is pretty much a TODO right now, but it'll get it done eventually so please, pardon our dust.

Projects using OtpGo

Mewtwo (Sunrise Games' Toontown servers)

Dialga (Sunrise Games' World of Cars Online servers)

About

Disney's OTP (Online Theme Park) server written in Go.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •