I feel like facepunch writing posts about progress....
Anyways, finally I had the time, and I got the communication between the client and the server using the SecureBlackboxAPI. Thank god I finally found that since I mentioned this is the third time I was re-writing this crap out of nothing. (The SSL part) Now I just need to finalize the communication between the client-server, and ensure they are sending and reading the messages in the good way. I also have to make sure that If someone would block the communication I would immediately make the client exit. I also have to do a handler at the server side to be able to handle multiple connections at the same time, which shouldn't be too complicated I guess.
After these things are done, I will give @Snake the hand to make sure the It is secured mostly in the client side.
From that point I guess I could do a test with my guys, then do a show off test with you guys, and then some minimal modifications at the server...
Since you guys asked me about RustBuster, currently I rewrote the SSL part 2 times now, since as I mentioned before the Microsoft SSL API failed to work on Mono, and Mentalis API only works on .NET 1.0.....
I rewrote the SSL part, and successfully switched the client side to SecureBlackBox's API which supports .NET 3.5 and even has a mono version compiled.
I also rewrote the self-signed certificate generator, since It didn't correctly generate a valid one for the server side. Seems to be good now.
Now only the server side remains, if It works and I can send message vica versa, It should be no time to finalize this.
@Snake and I have been working on a client side anti cheat, which will be able to fuck up injected/premade assembly hacks externally.
Our first aim is to make sure that RustBuster is safe to use, and encrypted. We might be willing to provide Developing API on It, and It will be able to unbind/log hack button keys.
Of course we will have to make sure that nobody can ever play out the client, neither the server.
We are currently working on the encryption part. Once we got It ready, there is a huge chance that server owners might need to pay for It (Don't get us wrong, writing stuff like this is time taking as hell)
It will support Experimental/Legacy and ONLY Pluton/Fougerite.
We will be denying the usage of Oxide since our code is not even going to support It at all, and no. We won't be adding support for It. The code most likely going to be private, we don't want people to find easy ways to bypass things in It.
Just a heads up. I closed a bunch of issues, and finished the new command parsing. It works really well. Many other bugs have been fixed. But I am really proud of the command parser. You no longer need to put names of players and items in quotes, but you can if you want to. Type all in lower case, or caps lock ON. Makes no difference, it is case-insensitive. You can even mis-spell item names and player names, and if you got most of it right, it will still locate the correct player or item. If you can't remember whether a blueprint is "BP" or "Blueprint" just type either one, the parser knows what goes with what. As you can see in the examples below, you need to spell a player's name about 60% right to make sure it matches. Or put it in quotes. You can also just eliminate spaces from a player's name instead of quoting. Works just as well.
/give blueprntz 556 ammo 556 )))00)
quantity = 556
testStr = ammo )))00), bestName = Рачок))))00)
itemName = 556 Ammo Blueprint...
You might remember me scratching my head about this: Fougerite MC