Demon

From Botdom Wiki
Revision as of 21:04, 31 March 2010 by DeathShadow--666 (Talk | contribs) (Removed Category:Discontinued, no longer required as the {{DiscontinuedProject}} template now includes it.)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Demon
Developer(s): plaguethenet
Programming language: C#
Development state: Pre-Alpha
Source model: Not yet released
Last stable release: Not yet released (0.0.1-private)
Last preview release: None
License type: None yet


Discontinued Project
This project has been discontinued and is not recommended for use.

Demon (previously Crystal) is a server based off of the dAmn protocol coded by plaguethenet. Crystal changed its name to Demon after a complete code scrap and rewrite. Find info on Demon on #Serverdom on dAmn.

How to access


Features

  • Quick processing w/spooling and threading.
  • User creation w/password -> authtoken generation
  • Join/part handling
  • Connection handling
  • Most dAmn commands handled (partial /admin support)
    • Partial /admin support (all except user-related commands)
  • Chatroom
    • Multiple chatrooms
    • Supports msg, npmsg, and action main(note: main is not the only supported channel).
    • Title/topic support
    • Full privclass support
    • Partial HTML support

Commands Available

  • /join and /part
  • /topic and /title
  • /kick
  • /kill for MN@
  • /promote and /demote
  • /admin create, /admin remove, /admin update, /admin show privclass

Changelog

30 December 07 (Unreleased)

  • New Features
    • Various undocumented backend changes for speed.
    • Spooling replaces threading for packet parsing.
  • Fixes
    • HTML exploit in kick, kill, and usernames fixed.

23 December 07 (Unreleased)

  • New Features
    • More HTML tags supported.
    • Admin commands updated.
  • Fixes
    • Ported to .NET 3.5.

18 December 07 (Unreleased)

17 December 07 (Unreleased)

  • New Features
    • Privclass permissions fully implemented.
    • Title/topic support re-implemented.
    • GPC's re-implemented.
    • Privclasses fully re-implemented.
    • /promote, /demote, /kill, /kick support added.

16 December 07 (Unreleased)

  • Changes
    • Code scrapped and rewritten.
  • New features
    • Authtoken system implemented. Actual authentication protocols in use.

14 December 07 (Unreleased)

  • Fixes
    • Fixed the Socket Error bug when getting disconnected. The correct message is now correctly displayed.
    • Fixed an issue where privclasses were not being saved properly with the room data.
  • New features
    • Privclasses partially implemented.
    • /admin create and /admin remove implemented.
    • Added /kick.
    • Tightened security for privclasses. (Considering re-write now that basics are worked out.)

13 December 07 (Unreleased)

  • Fixes
    • HTML Security exploit fixed.
    • Fixed the title/topic bug when initially joining a room.
  • New features
    • Crystal specific admin commands created (/admin gpc username gpc, /admin reload)
    • GPC's Partially implemented.

Notes

Deviations from the official dAmn protocol

  • Handshake sends a parameter: server=servername and version (For clients to be able to detect if they are connected to Demon)
  • Demon does not send an error if you use a channel other than main for msg/npmsg/action, It instead sends out a recv packet with the new channel (IE: msg background)

Login System Protocol

  • The login server is running on port 3901.
  • The protocol is VERY Similar to dAmn's protocol.
  • Login packet:
  login username
  password=password
  
  
  • Create packet:
  create username
  password=password
  
  
  • Login response packet:
  login username
  e=ok|failure reason
  pk=pk (If e=ok)
  
  
  • Create response packet:
  create username
  e=ok|failed
  
  
  • Note: The login system will not give an explicit error for security purposes.