Scheduled Site Restructuring...

Announcements related to BNT and the BlackNova.net site.

User avatar
TheMightyDude
Site Admin
Posts: 259
Joined: Thu Apr 17, 2014 09:15 UTC

Scheduled Site Restructuring...

Post by TheMightyDude » Thu Feb 27, 2020 20:32 UTC

Hello All

Just letting you all know that I will be restructuring the whole Blacknova site when the game gets reset on the 1st March 2020.

The site has become too badly structured over the years and I think it is time to rectify that.

Plus this new restructuring will also help with the new version.

[Good News]
I "might" also look into running more than one game assuming the restructuring works out as I think it will.
So there might be a long running game (current 3 month game) and a Short game (1 Month Game) if all goes well.


[Bad News]
This might take a little while to do so the games next round might not start there and then, but once all working and ready I will post a date on the page that is displayed to you when the game will start, this will give you all time to all start playing at or around the same time.

After the reset on the 1st March 2020, the long running games will still next reset on 1st June 2020 no matter how long it takes for me to complete the restructuring, so be aware of that.

I will try and update on the forums if I run into any issues.
TheMightyDude::Blacknova Development.
Development Blog Twitter Twitch

ProCra
Posts: 6
Joined: Sat Jun 08, 2019 20:53 UTC

Re: Scheduled Site Restructuring...

Post by ProCra » Fri Feb 28, 2020 11:12 UTC

Good news, indeed.

Just a question: the new improved code source will also be updated?

User avatar
TheMightyDude
Site Admin
Posts: 259
Joined: Thu Apr 17, 2014 09:15 UTC

Re: Scheduled Site Restructuring...

Post by TheMightyDude » Fri Feb 28, 2020 17:13 UTC

ProCra wrote:
Fri Feb 28, 2020 11:12 UTC
Good news, indeed.

Just a question: the new improved code source will be also be updated?
When I say new code I am referring to a complete recode for a PC Desktop Client (using Unity + my API) and a Linux Server (using .NET Core + my API), but that is way off from completion at the moment.

For Admins wanting to run the new version (once completed) there will be 2 versions for the game server.
  1. Executable with the .NET Core self-contained into it, so its just an unzip & upload, then configure and run (should just work out of the box).
  2. Executable which is framework dependent to a .NET Core version, (requires .NET Core to be installed).
The first one will be a larger file size but will be the easiest to setup, whereas the second one the admin will also need to install the .NET Core version for the version they downloaded.

Also Server Admins wanting to run the game will also have to create a free server account on our server due to the game servers will not handle any account information, we will handle all that, that way all account information will be persistent between game resets, also persistent accounts will also allow for other games to be added later on.

Now back to the current running code and the code on Sourceforge, sadly that will remain the same "for now".

I was just referring to it will help me progress due to I might need to test stuff on the server and the current code blocks that for me.
TheMightyDude::Blacknova Development.
Development Blog Twitter Twitch

User avatar
TheMightyDude
Site Admin
Posts: 259
Joined: Thu Apr 17, 2014 09:15 UTC

Re: Scheduled Site Restructuring...

Post by TheMightyDude » Sat Feb 29, 2020 05:56 UTC

Oh wow, seems I am using over 22GB of space on old BNT code, so downloading all of it to see what it contains LOL, so should take a few mins to do.

Seem I might be able to use Apache's mod_rewrite to handle when services are disabled, like when I do the resets.
In theory I should be able to automate the resets and also create my accounts, so I might look into that after I have done the restructuring.

I cannot believe how much space BNT is all taking up, just noticed I had an issue in the rollback feature where it exports the database every hour of the day and then compares the daily export and then saves the differences, that way we only store the changes for that day.
Seems that I was also backing up the extreme logs which are the largest table in the game, that doesn't need to be backed up.
TheMightyDude::Blacknova Development.
Development Blog Twitter Twitch

ProCra
Posts: 6
Joined: Sat Jun 08, 2019 20:53 UTC

Re: Scheduled Site Restructuring...

Post by ProCra » Sat Feb 29, 2020 12:17 UTC

I am not so sure how it will work the new setup you are planning, but it is possible to send an email at least to the current list of (not banned for multi) accounts to notice when the reset has occurred?

User avatar
TheMightyDude
Site Admin
Posts: 259
Joined: Thu Apr 17, 2014 09:15 UTC

Re: Scheduled Site Restructuring...

Post by TheMightyDude » Sat Feb 29, 2020 18:43 UTC

ProCra wrote:
Sat Feb 29, 2020 12:17 UTC
I am not so sure how it will work the new setup you are planning, but it is possible to send an email at least to the current list of (not banned for multi) accounts to notice when the reset has occurred?
Well we are not setup to send email lists or bulk emails, sure it "might" work without issues, but to send an email list more headers need to be added to the actual email.
Sadly sending the same or almost the same email to the same email provider can often get false detected as spam.

I was planning to setup later on a newsletter type of email that people would be able to sign in and out of, but that's also way off from being added.

As for letting current and / or future players know when the game has reset and open for play, players just need to keep checking the game and it will say when it will go live after reset, I will be waiting for about a week after its all ready before I open it back up, that way players will be aware when to come back to play.
TheMightyDude::Blacknova Development.
Development Blog Twitter Twitch

ProCra
Posts: 6
Joined: Sat Jun 08, 2019 20:53 UTC

Re: Scheduled Site Restructuring...

Post by ProCra » Sun Mar 01, 2020 19:38 UTC

That should work. Good luck with the cleanup! :)

User avatar
TheMightyDude
Site Admin
Posts: 259
Joined: Thu Apr 17, 2014 09:15 UTC

Re: Scheduled Site Restructuring...

Post by TheMightyDude » Tue Mar 03, 2020 02:38 UTC

ProCra wrote:
Sun Mar 01, 2020 19:38 UTC
That should work. Good luck with the cleanup! :)
Thanks, well I found out that some stuff I cannot do this time round, which isn't an issue that was just an optional feature that can be looked at a later date.

But I will be switching over to PDO within ADOdb from MySQLi, sure it still uses MySQL but just a different wrapper, downside is SQL Logging won't work, but that was slowing the game down due to a lot of the performance logging is CPU hogging.

Also when you enable the sql logging you cannot check for DB Query errors apart from it failed or passed, basically it never returns the error message, but if sql logging is disabled the checks worked.
I only found that out yesterday.

Also updated ADOdb to the latest release, so I had to also modify some game code to fix those errors.

On a side note, sessions will be even more secure than what they were, we now use method AES-256-GCM with OpenSSL to encrypt the stored connection sessions in our database.

Also trying to structure the game to allow me to at a later date start other versions of BNT but also use the same code base (so patching one game patches all).
Creating more addons, one that creates admin accounts without me having to do it by hand, this plugin also gets called when create universe is called, so if its done right it could lead to automated game resets, which is good :)

Anyhow there is still lots to do.
TheMightyDude::Blacknova Development.
Development Blog Twitter Twitch

ProCra
Posts: 6
Joined: Sat Jun 08, 2019 20:53 UTC

Re: Scheduled Site Restructuring...

Post by ProCra » Wed Mar 11, 2020 15:08 UTC

Any update? I hope everything is going as planned. 8-)

User avatar
TheMightyDude
Site Admin
Posts: 259
Joined: Thu Apr 17, 2014 09:15 UTC

Re: Scheduled Site Restructuring...

Post by TheMightyDude » Wed Mar 11, 2020 15:57 UTC

ProCra wrote:
Wed Mar 11, 2020 15:08 UTC
Any update? I hope everything is going as planned. 8-)
Yes and no.
We had an SSL Cert Issue a week ago where our CERTS were revoked due to security leaks, so we had to re-request new ones, so that's resolved.
I was ill for a few days, plus we lost connection for 2 days while our ISP upgraded our fibre so those were a bit of a setback.

[Stuff still needing to be done]
  • I am still going through the Apache (Web Server) web folders for blacknova.net removing ones no longer being used.
  • Still need to modify our game code so that it can be used to run multiple games with a single code base core.
  • Moving over from MySQLi to PDO within ADOdb which requires some code changes.
  • Seems there are errors when creating the universe that are not checked or fails to check if they are ok, this might be down to how the PHP ADOdb Lib works which is not ideal, so that needs to be fixed.
  • I think we will be dropping the SQL Logging, it was never used and causes so many issues in the game referring to the LOCK issues etc.
  • Upgrading the stored Session Information to be a more secure encryption.
  • Still need to clean up Plugin / Event Code.
  • Need to add a new Plugin to create the Admin / GM Accounts Automatically, puts them in the Development Team, adds the Dev Zones / Sectors etc when the universe is created.
    (That way I can have it set as a scheduled reset without me needing to do it all by hand.)
  • Need to create an Admin type section to control the sections for blacknova.net like closing / opening adding / removing games etc.
The list goes on as I am doing stuff and that's not counting when I am hit with errors where I have to look into ways to get around it.
You have probably already seen how bad the code is on Sourceforge so this also can and does cause issues when adding / changing stuff.

And on top of all that I have all my RL stuff that still needs doing, so this can and might take a little while, but once done the game might be a test game to reports errors that popup.
TheMightyDude::Blacknova Development.
Development Blog Twitter Twitch

Post Reply