Page 4 of 4

Re: Started Development :)

Posted: Thu Apr 13, 2017 3:28 am
by TheMightyDude
thekabal wrote:Also, this issue:

Turned into my favorite so far. A whole class of problems had been created (by me!) when I converted to PDO without using data types. I fixed that (took a while), and now the code is so much more predictable. It's uphill, but it's worth it.
I have always used those constants in PDO, that way you know its going to be the correct format type.

Re: Started Development :)

Posted: Thu Apr 13, 2017 3:50 am
by TheMightyDude
thekabal wrote:
TheMightyDude wrote: Well the last job I worked at before I became ill, I worked on making Naval Radar Systems for the M.O.D around the world, all machines that had internet access was locked down like hell, my PC had no internet access so I could do what I liked (within reason that is), sadly no BNT for me LOL.
I wouldn't play during work, but I was commenting on the massive volume of players that played during the "Eastern Time (US)" work day 9-5. It was easily 2/3rd's of my traffic when I was running games. Of course, Estonia was at least 1/2 of the players, so.. I dunno what to make of it. :)
Oh, for sure, I am almost sure loads played at work going by the used IP's (used by "TheGovernor:Multi-Checker"), so I know some did.
thekabal wrote:
TheMightyDude wrote:Yeah, I knew ADOdb haunt us later, I wanted to move away from it years ago, but there is so much code that needs to be changed.
On that, we agree!! I've gotten it down to 776 lines, but even two lines of DB code migration can take hours. I just did one yesterday, and it took four hours between discovering old bugs, fixing them, redoing them in a more secure way, and so forth. It's an undertaking! Plus where possible (and where it doesn't destroy the load), I try to reduce SQL calls in loops, using FetchAll and similar more often. We did that in BNT too, just not in many places.
Yeah, FetchAll is ok in most places, but sometimes we still have to use loops, but not that often.
thekabal wrote:Oh! I should mention that the scheduler IS substantially different. I haven't finished it yet (probably a few weeks out), but it runs as a command-line php program. No more "Do you have wget/lynx/curl/etc". Just php newscheduler.php , and done (works in crontabs as well).
Yeah, you could also us .htaccess to block calling that file along with others via apache from the browser.
thekabal wrote:
TheMightyDude wrote: I had huge issues even getting the latest release code working on this server, took me several hours over a few days, and it turned out to be an issue in header.php on this line

Code: Select all

<html lang="<?php echo $l->get('l_lang_attribute'); ?>">
That code will always fail when there is no tables created in the database, hens the white screen.
Good catch. The "database is/isn't available" handling was a huge PITA to engineer, but it was critically important. It's now very solid, although once TKI is 100% PDO, I'll take another pass at refining it.
Yeah, at the time I was like, it use to work, so why isn't now, then it dawned on me, I always had the tables setup and never really removed the tables when testing it, so the languages was always there.
thekabal wrote:
TheMightyDude wrote:Have you done traderoute.php yet LOL (CRINGES)
It's always Traderoutes, ain't it!

Traderoutes is very much a work in progress. I split it into 8 classes so far (and the parent file), and all of them now have strict typing enforced, and defined types for the majority of the function/method arguments. Many have some Adodb->PDO conversion work, but none (of traderoute) is fully converted yet. It is still quite terrible code, but it is becoming more managable. It's still my least favorite part of the code. :)

Super happy to hear you are on the mend.
Yeah, players use to ask me can we have X and Y features added to traderoutes, I always replied no LOL.

Yeah, it took a long time for them the get the meds right, it was either the meds worked but gave me mood swings, or they didn't work but had no side affects.
thekabal wrote:
TheMightyDude wrote:I can still remember the day I sent a message to Ron asking if I could join the development team (even though I knew nothing about PHP coding), at the time I saw very promising potential in the game, it took me over a year looking through the code learning to see what each part of the code did, then I got brave and did some fixes hoping I didn't break anything, once that stress was over with I was finer :)
For me, it was finding a tiny bug, suggesting the fix, and it landed next release. Then I suggested a new feature (The last ship seen device!), and the team invited me to commit to the tree directly. It has been bumpy at times, but it has always been a lot of fun. :)
Yeah, well I have loved it, granted there was times when I had to patch code for 3 live games (BNT1, 2 and 3) each with different reset dates, so I had to make notes so that I could patch them when they got reset.
That was when I changed from 3 code locations to 1 location for all 3 games which had their own config files, I was rather impressed about that, from then I only had to patch just the one lot of code.