Pypperoni is the open source Python-language compiler developed by The Legends of Pirates Online Team.
Pirates Online uses the Panda3D Graphics Engine to create the three-dimensional world of Pirates of the Caribbean. And the software works in two parts. The Client software runs on a player's PC. The Server software runs on the game's central computers and the two halves communicate. The Server software keeps records of the player's characters, stats, inventory as well as manages the world environment all players share. The Server software from the original Pirates Online belonged to Disney so the team at The Legends of Pirates Online had to create their own server-side software in order for the game to run. This is also why original players cannot retrieve their old pirates.
Pypperoni was developed as an in-house compiler for TLOPO, which is almost entirely written in Python, and they had to come up with many creative solutions for security problems intrinsic to the Python programming language, such as Python injection.
In the original Pirates Online, a Python Injector app allowed hackers to alter the game, make their ships invulnerable, attack other players, etc.
The team recognized numerous security and performance issues associated with running an application written in Python, and thus sought out to reinvent the way they thought about Python compilers. Pypperoni is the result.
Previously, TLOPO maintained their own custom and open source compiler named Nirai. Unlike Pypperoni, Nirai was designed to be specifically used alongside the Panda3D game engine. Pypperoni is the successor to Nirai and is designed to be compatible with ANY application written in Python 2.7.
- @loblao Nacib Neme is Pypperoni's lead architect and designer.
- @mfwass Michael Wass is a maintainer of Pypperoni.
Open Source - https://github.com/Pypperoni/pypperoni