Crystal - a dAmnServer emulator for deviantArt's messaging network
News
The test code that crystal was written for is nearing completion, So at this point in time i feel it appropriate to make the announcement that i have hidden from Crystal's testers. Over the next few weeks the following things will happen:

Crystal will be forked into 2 builds.

2nd of the 2 builds will be renamed to Demon

Demon will be deeply gutted and greatly optimized.

Demon will use Cheddar's XMLPlugin class to load the server from C# Code. Allowing you to mod the code as you see fit without having to have visual studio.

Crystal will contain all the stable features of Demon

Demon will not allow the minor variations in packets that Crystal allows (STRICT dAmn protocol enforcement)

Both Crystal and Demon will be released under a dual license (BSD and a private copyright to myself)
Features:
Admin Commands

gpc username gpc - sets usernames gpc.

reload - Reloads the server config file.

save - Forces the server to commit its config file to disk

create privclass - Enough said.

remove privclass - Enough said.
dAmn Commands

/kill (Permissions are set by GPC)

/kick

/promote (A bit buggy atm)

/demote (A bit buggy atm)

/title (Permissions are not checked. Updates are allowed regardless of permissions)

/topic (Permissions are not checked. Updates are allowed regardless of permissions)

/join (no pchat support yet)

/part (no pchat support yet)

/away (Even thought the official client supports it the official server does not. Demon will not support this packet, but Crystal will)

/back (See /away)

/admin (Partial, See the list of admin commands above)
Other Features

Asynchronous sockets (ie, a delay in a single client doesnt delay the entire server, Latency with 65 clients in the same room is around 3-6ms, ~
infinity0 can verify this)

XML Database (Custom)
Bug/Security fixes

Fixed the HTML Exploit. No html tags are allowed anymore.

Fixed an issue where privclasses were not being saved with the room data (All privclasses reset to defaults on server restart)

Fixed an issue where you could potentially skip the handshake/login.

Fixed an issue with clients that send \n at the end of the packet body (\n's at the end of the body get stripped)

Fixed an issue where the disconnect message was always [Socket Error] The correct message is now displayed.
Planned Features

100% protocol support (Excluding dA specific tablumps (Emotes, thumbnails, dev tags and icon tags) )

Non-standard Packets that will be specific to Crystal. (But will not break compatiability with the official protocol)

Support for channels other then main.

PChat support.

Web-based administration interface, Built into Crystal/Demon

Ability to log in via web-based interface, again built into Crysta/Demon

Built in web client (Inspired by, But no code taken from dAmn, dA may audit my code at any time by requesting a copy of the source)

Asynchronous Chat sends, Speeding up chat messages.

MSSql User Database support.

MySQL User Database support.
FAQ

What is Crystal/Demon?

It is a chat server that emulates deviantArt's Messaging Network's underlying protocol.

Why did you write it?

Its main purpose is to allow bot-writers to test their bots in a sandbox environment without fear of being banned if the bot has an unsuspected bug in it, It was also written to test my coding skills and push them to/past their limits. Its how i learn. It may be run on a public server at a later date to allow bot-writers to test their bots without having to install the server.

Your going to get banned for this.

No, I wont. Reverse engineering is not against the law. Breaking encryption, Copyright infringement, Stealing other peoples code is. I am doing none of the above. I am simply reverse engineering for compatibility.

Have you asked dA's permission to do this?

No, Nor do i feel that i need to. I would gladly cooperate with dA if they asked me to do anything with it.

Are you going to start your own chat-network with this?

There has been some talk of this. I don't believe i want the responsibility or the cost associated with running a public service, Nor do i want to compete with dA in any way shape or form.

But didn't you say above that you were going to start a public server for bot testing?

I may, or i may not. But that would be its sole purpose. Anyone found using it for any other purpose will be banned on the spot should i start that server. The main and only reason for this server is to alleviate some of the load that bot-testing/creation creates on dAmn, and its administrators. that is all.

Do you have any screenshots of the server?

I do, As well as the official dAmn Client connected to it. It can be found
here
Feel free to join
#Serverdom If you have any suggestions or comments. (If im not there leave a comment or send me a note)
Devious Comments
You're a genius man
--
DeviantART Status - Help & FAQ - Help Desk
--
I know you want what's on my mind
I know you like what's on my mind
I know what eats you up inside
I know you know, you know
Sex Type Thing - Stone Temple Pilots
Smexy.
--
"There's something that I can't quite explain, I'm so in love with you. You'll never take that away. Well expect me to be calling you to see if you're okay when I'm not around, asking if you love me, I love the way you make it sound, calling you to see...
--
catboyry> am i seeing this right? plaguethenet actually helping a newbie?
plaguethenet> catboyry: Yes. I am. For once.
** kakarma has left
catboyry> hell has frozen over and all the admins subscriptions just ran out
--
catboyry> am i seeing this right? plaguethenet actually helping a newbie?
plaguethenet> catboyry: Yes. I am. For once.
** kakarma has left
catboyry> hell has frozen over and all the admins subscriptions just ran out
--
catboyry> am i seeing this right? plaguethenet actually helping a newbie?
plaguethenet> catboyry: Yes. I am. For once.
** kakarma has left
catboyry> hell has frozen over and all the admins subscriptions just ran out
Previous PageNext Page