Skip to content
This repository has been archived by the owner on Mar 14, 2020. It is now read-only.

Roadmap

mathausmendel edited this page Jul 30, 2012 · 7 revisions

Getting master useable

Version 0.7.0

  • 9.60 support

    • Update ProtocolGame / protocolLogin so connecting using that client and moving around does not give any errors.
    • Add Market.
    • Move monsters from legacy to trunk.
    • Move items from legacy to trunk.
  • Add OnTimerEvent

    • Would allow to schedule actions in the future without keeping the current event thread alive (as wait) does.

    • Proposed solution: Add a new queue to ScriptManager with <microtime, Listener_ptr>, check this at the same time as timer event and dispatch any that have run out. Register function should be registerTimerEvent(1000, handler [, repeating]).

  • Update IO code to match new database schema.

    • Currently, the server is not up-to-date with the new database structure.
  • Improve NPC system so order of conversations is intuitive (right now, since it uses table keys, the priority of phrases essentially random).

  • Add a simple quest system module that allows levers, switches etc. to be configured easily.

Future goals

  • Add simple HTTP server to serve JSON request for server status.

  • Improve the administration interface.

  • Better logging support using boost::log rather than std::cout. Allow redirection to an output file, color for different log levels. Implement native logging like Windows Events and Syslog.

  • Incremental saving.

    • When players log out, keep them in memory, save everything at the same time (every 30s?) and the flush out players etc.

    • Flag tiles / containers / items / players as dirty when they are changed, so we don't have to save EVERYTHING every single save.

  • Client Version selection server side (support everything 7.4..9.6+).

Clone this wiki locally