Server on UI thread
WPF runs at 60 fps in the best case, 15 in background. We had it in a seperate thread in the past but I wanted to see how the latency changes from using the main Synchronisation context. I tried to bottleneck it on purpose to improve the speed on other parts. Hence the async packet handlers and packet sending. This was purely a (stupid) experiment since I didn't know any better :P I guess I never changed that cause I forgot since it ran very well. Thinking about it now might explain the lagspikes we had but I think Execution knows the real source of the problem and its not related directly.
How do I make a register page
You dont. Simply login, accounts are created automatically.
Syntax Errors in VS 2013
You need Vs 2015 to compile it. It makes some use of C# 6.0 language features. The database is compressed using LZMA, it will decompress on startup. You need a Y:\ Partition / Ramdisk. There is literally no setup after you created a Y:\ partition. Just run it and it will work.
No patch?
Works on any 5018 client. 5018, not 5017.
Warnings
I would not recommend running it as a live server though. There are several ways one can exploit the source. You can crash it and you can download any file on the VPS using a backdoor/exploit in the HTTP daemon. The IRC Bot can be exploited to crash the server, so can the main sockets.
Exploits- The server can be crashed on character creation with a single packet.
- Forcibly aborting a connection will crash it. Starting simple denial of service on the http daemon will spawn thousands of threads taking down everything with it.
- IRC can be exploited by forcing the bot ut of the server resulting in a stackoverflow due to a never ending recursive loop.
- Also, you can download the entire source from your VPS if you just know how to

My motivation behind xio
This source was mainly a playground for me, trying the new fancy async/await and other things I had no way to test in a real world case. First time I quit was cause I was not happy with the code. I can do better is what I said to myself and really lost all hope on the current code base.
I've learned how to use async/await properly, how to write proper lambda's, linq and much about blocking collections, consumer/producer queues, multi threading in general and C# 6.0 language features during the development. However, I never really got to implement that in a nice way on Xio. Xio was a great learning ressource for me, I understand that you think its bad, I can't really deny it since its true, but I've seen worse. It ran well for weeks without restarts, crashes or any other serious bugs so I still value it as a great success.
Aight, I'm out. Have fun bashing it :P