Skip to content

Latest commit

 

History

History
177 lines (174 loc) · 4.05 KB

TODO.md

File metadata and controls

177 lines (174 loc) · 4.05 KB

To do

  • Player information
    • Capacity
    • Item that modifies player light (ex. torch)
    • Item that modifies player speed (ex. BOH)
    • Item, spell or party spells that modifies player skills
  • Fight
    • War
    • Splash
    • Summon
    • Convince
    • ...
  • Bed
  • Guild
  • Hangable items
  • Rings and amulets charges
  • Party shared experience
  • Illusion spell and chameleon rune
  • X-Logging
  • Stamina
  • ...

Done (or good enough for now)

  • Tibia and Open Tibia's file format interpreters (.dat, .otb, .otbm, .pic, .spr)
  • TCP socket management for login and game servers
  • Packets and communication protocol (with RSA, Xtea, Adler32)
  • Task scheduler thread
  • Main game dispatcher thread
  • The base objects
    • Vocation (knight, paladin, sorcerer, druid, etc) and rank (player, tutor, gamemaster)
  • The base structures
  • Interacting with the client
    • Premium days
    • Message of the day
    • Waiting list
    • Quests
      • Database for storage
    • Achievements
      • Database for storing achievements
    • Hotkeys
    • Report bug
    • Report rule violation
    • Debug assert
  • Controlling the character
    • Login
    • Walking
    • Turning
    • Changing outfit
      • Database for storing outfits/addons
    • Logout
  • Interacting with other players
    • Say
      • Gamemaster in-game commands
      • Player in-game commands
      • Spells
        • Database for storing spells
    • Whisper
    • Yell
    • Direct chat
    • Channels
    • Private channel
    • Rule violation channel
    • VIP
      • Database for storing VIPs
    • Safe Trade
    • Party
    • Fight (vs Player)
      • PVP vs non-PVP configuration
      • Skull
      • Unjustified kills
        • Database for storing unjustified kills and deaths
  • Interacting with npc
    • Private NPC system
    • NPC channel
    • Dialogue
    • Buy and sell items
    • Trade window
    • Travel
    • Bank Account
  • Interacting with monsters
    • Combat controls
    • Fight (vs Monster)
      • Monster spawn/respawn
      • Monster despawn
      • Loot
      • Experience, level and level percent (advance and downgrade)
      • Magic level and skills (advance and downgrade)
      • Rooking
      • Drop bag
      • Drop items
      • AOL
      • Bless
        • Database for storing blesses
    • Weapon attributes (range, atk, def, arm)
    • Ammunition
    • Bow and arrow
    • Wand and rod
    • Two-handed items
  • Interacting with the game world
    • Look item
      • Sign items
      • House doors
    • Move item
    • Rotate item
    • Use item
      • Containers
      • Depot lockers and towns
      • Read and write items
      • Quest chest item
      • etc
    • Use item with creature
      • Runes
      • etc
    • Use item with item
      • Tools
      • etc
    • Mail
      • Send parcel
      • Send letter
    • House
      • Access list
      • Database for storing houses, ownership, items
    • Health and mana regeneration
    • Soul regeneration
    • Drunk and other special conditions
    • No-logout zone
    • Logout block
    • Protection zone block
    • Protection zone
  • Systems
    • Server status info protocol
      • Player's peek record
      • Server rates
      • Experience stages
    • Account manager (create account, change password, add character, change character name, change character gender, move character to temple)
    • Server save routine
    • Map clean routine
  • Plugins
    • C# dll plugins
    • Lua scripting (actions, ammunitions, creaturescripts, globalevents, movements, npcs, raids, runes, spells, talkactions, weapons)
    • Lua debugging with ZeroBrane
    • Lua autocomplete intellisense
  • Security and Connection
    • Ban/unban by player name, account or ip address
    • Rate limiting
      • Kick multi-client
      • Connections abuse
      • Packets abuse
      • Login attempts abuse
      • Kick slow sockets
      • Invalid message abuse
      • Unknown packet abuse
    • Stop accepting new connections once limit is reached
    • Kick after 1 minute without pong response
    • Kick after 15 minutes idle
    • Maintenance info
    • Anti-spam: channel mute
    • Allow clones configuration
    • One player online per account configuration
    • Replace kick on login configuration
  • Database support
    • SQLite
    • MySQL
    • Microsoft SQL Server
    • In Memory
  • Server statistics
    • Active connections
    • #Received messages and bytes
    • #Sent messages and bytes
    • Average processing time
  • Player admin management panel
    • Broadcast Message
    • Send Message
    • Kick Player
    • Ban Player