What’s PyOT
PyOT is a server written in Python, using that Twisted framework that emulates the Tibia protocol.
PyOT is super fast, and uses diffrent methods than other projects. Some of which is:
- Async SQL
- Async core code
- Async scriptsystem
- Ability to utilize the best reactor designs (epoll (Linux), iocp (Windows) and kqueue (FreeBSD))
- Ability to utilize JIT using PyPy
- Very flexible core
- Very configurable core
- Very fast save format (save takes from less than 0.1ms to 0.3ms per player, scales over several sql connections, allowing for upto 10k saves per second)
- Sector maps, dynamic load and unload for optimal memory usage (down to ~50MB on 64bit after login! (32bit can expect around half)) (*Multilingual mode may require more)
- Support for instances or even having multiple worlds on one server!
- Support for multiple languages (at the same time, now each individual account can have their own language!) (*all server sided messages, client UI is a different matter)
- Ability to dynamicly script maps and custom items!
The Future for PyOT
- Make all core logic possible to tap into using scripts (say, a war system should be possible to make entierly using scripts)
- More intelligent monsters
- Better NPC framework
- Even more configurable behavior
- Core support for all client features
- Finish a base of scripts that emulates the default behavior rather well (can also be configurable)
- Document all features
- Write a couple of pages on scripting
- Write a couple of pages on monsters, npc and other resources
- Write a couple of pages on core development
- Write a couple of pages on things should as installation
- Write a much more detailed TODO List list.
Ideas (not yet desided):
- Support for own Status protocol
- Support for dynamic upgrade of custom clients over a custom protocol (useful for say, autoupdaters)
PyOT Features (so far)
TODO: Write this one.