Roadmap 1.1 - novasdream/forgottenserver GitHub Wiki

=====================

  • Non-blocking SQL queries
  • Use a global script interface for NPCs instead of a separate one for each NPC
    • also clean up unnecessary reset() calls
  • onStepIn/onStepOut return value should matter, return false should cancel the step, default to return true
  • Idle state for NPCs
    • there is no reason for NPCs to walk or talk if no one is there to see it
  • Rewrite admin protocol
    • allow clients to send Lua code for the server to execute
    • alternatively, store Lua scripts on the server and allow the admin protocol to run the scripts (safer)
  • Add stronger hashing options
    • perhaps PBKDF2/scrypt
    • preferably without external dependencies
  • Use max packet length from MySQL in DBInsert class to know when it is appropriate to execute the query
  • Custom item attributes
  • Lua scripts for quests
  • XTEA SIMD
  • Use of more C++11 features:
    • final/override
    • emplace for map insertions
  • Remove virtual specifier from all functions that aren't being overridden
  • Remove const_cast where possible
  • Use integers instead of floating point numbers for item weight and player capacity
  • Support custom RSA keys
    • IP Changers must support this, should be supported by the otserv:// specifier, the public key could be specified after version, e.g.:
      • otserv://shadowcores.twifysoft.net/7171/1041/publickey
  • Improve database schema
  • XML tag for each flag in groups.xml with value 0 or 1 to make it more maintainable instead of a single int representing the value for all flags

Backlog from 1.0:

  • Move old Lua functions to compat.lua
  • Move commands to talkactions