Table Of Contents

Next topic

TODO List

This Page

What’s PyOT

Author:Stian (vapus members/stian)
Release:1.0-alpha1
Date:December 10, 2012

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.