[Release]: XioOnline Source code.

05/26/2015 12:52 0x6a6b#16
Looks like a nice little piece of code ;)
I will look into it as i've got time :)
Thank you for this release!
05/26/2015 17:12 AllCowsAreBurgers#17
Excuse me for asking: Where exactly is the "Database"- folder?
I only see a Database project directory named "XioEmu Database" and the "Database" folder in the XioLib. I donīt really know which is meant, its really confusing.
In addition my vs2013 tells me that there are several syntax errors and that there is no XioLib.dll, in the Lib dir, but there is a XioLib.dll.locked, and everytime i copy a new one into the dir, it renames it into XioLib.dll.locked.
I hope somebody could help me :/
Thank you!
05/26/2015 18:23 Spirited#18
Quote:
Originally Posted by WeDontWaste View Post
Looks like a nice little piece of code ;)
I will look into it as i've got time :)
Thank you for this release!
No, it's absolutely not. For a start, they put the server on the same thread as their GUI in an STA threading model. My post was previously deleted showing all of this and the other problems, but whatever.
05/28/2015 00:36 Yupmoh#19
Quote:
Originally Posted by AllCowsAreBurgers View Post
Excuse me for asking: Where exactly is the "Database"- folder?
I only see a Database project directory named "XioEmu Database" and the "Database" folder in the XioLib. I donīt really know which is meant, its really confusing.
In addition my vs2013 tells me that there are several syntax errors and that there is no XioLib.dll, in the Lib dir, but there is a XioLib.dll.locked, and everytime i copy a new one into the dir, it renames it into XioLib.dll.locked.
I hope somebody could help me :/
Thank you!
Make sure that you have the latest .netframe work, We used some of the new features that were introduced in there and that should solve the syntax errors.

I've added a DB link to the OP. And as for the XioLib.dll, You have the project included I don't know what else to say...
05/28/2015 01:10 Super Aids#20
Quote:
Originally Posted by Spirited View Post
No, it's absolutely not. For a start, they put the server on the same thread as their GUI in an STA threading model. My post was previously deleted showing all of this and the other problems, but whatever.
Sounds like a great optimization to the fastest graphics rendering utility in C#.
05/28/2015 08:18 marcbacor6666#21
hmmm how to make a registration page on this.
05/28/2015 08:28 victorcechinel#22
No have client and patch?
05/28/2015 10:20 Xio.#23
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
05/28/2015 11:07 marcbacor6666#24
any fixed on how to make this not crashed then bro?
05/28/2015 12:20 Best Coder 2014#25
Quote:
Originally Posted by marcbacor6666 View Post
any fixed on how to make this not crashed then bro?
I would recommend using one of the Messi sources instead. This one is horribly coded.
05/28/2015 17:04 marcbacor6666#26
from the name messi, i think its messy
05/28/2015 18:46 pintinho12#27
Quote:
Originally Posted by Best Coder 2014 View Post
I would recommend using one of the Messi sources instead. This one is horribly coded.
That was unexpected.
05/29/2015 02:56 Spirited#28
Quote:
Originally Posted by Best Coder 2014 View Post
I would recommend using one of the Messi sources instead. This one is horribly coded.
Gross, why does this have to be true.
05/29/2015 09:27 AhmedGfx#29
I'm using 5018 client
and that's say (192.168.1.2) sent an invalid packet.
05/30/2015 01:45 MrTigerZ#30
Quote:
Originally Posted by AhmedGfx View Post
I'm using 5018 client
and that's say (192.168.1.2) sent an invalid packet.
yes me too ... what we can do now ?