Development Blog v0.20.15
Well not done much in a while, but went through some code, cleaned it up a little, removed redundant code (still have loads of old code that is commented out) but now runs slightly fast.
I still need to update the project to .NET 8 due to the current Server Code is .NET 7 and the way that I am trying to have this done is to allow the admin just to upload the game server folder to their Linux Server and it will just work, no extra software needed for it to run.
Apart from cleaning up some code, I haven’t really done much.
Just a quick update…
Well started looking into how to store Live Game Data and how lo load it.
I have been looking at NoSQL, so only need to create a class to store a bunch of data and I just populate the class and supply that into the Insert Function and it just adds it.
Using NoSQL via LiteDB will remove the need of setting up a database for the game if you were to want to host a server. In theory you should just need to upload the server files to the required server and setup User:Group permissions, setup the admin and game server settings etc and that should be it.
Not yet looked at an Admin Web Front End, but might have Tools, but not sure yet and that’s a long way off.
Have hit a brick wall today with my ThreadManager code, seems I couldn’t shutdown a tread in the NetworkReadLoopThread when it needs to close the Socket when the remote end drops the connection and where I wanted to not have Threads running that didn’t need to be running.
It seems that you cannot close a Thread within itself due to how its coded.
But decided on while the game is running whether its connected to the server or not, will have all required Threads running, which is fine due to they just wouldn’t be doing anything in them.
Both Server (Console App) and Client (Desktop App while in development) I am able to Connect, Authenticate and Create New Account.
Next step would be to try the Client code within the Unity Engine and see if it works, my guesses would be that it won’t work and will have some errors that will need to be resolved.
But once that’s all resolved and working I “should” have the basic Networking Done and “should” be then able to add new stuff.
Just a very quick update this time round…
SRP (Secure Remote Password) is now added into the API for Authentication, so passwords are now no longer sent over the network or even stored in the database.
All that is stored is UserSalt and UserVerifier and that is it.
Well been taking a me time for a while and I think I am in a good place so have gone back to development.
Took a little while to figure out my code that I had backed up due to losing all my up-to-date code in the datacentre fire, but starting to get back to knowing what I was trying to do.
But just because I am back to developing doesn’t mean it will all be done anytime soon, I am way off due to having to design and write my own API containing Multi-Threaded Networking etc.
But it’s a start at least.