-
Posts
2,123 -
Joined
-
Last visited
-
Days Won
143
Content Type
Profiles
Forums
Events
Everything posted by Magictallguy
-
Answering the question Assuming you're on Windows here. XAMPP uses local files on your PC, so you'd be changing permissions of files and folders on your local system - which gives you 2 options. Personally, I prefer the shell method. Run PowerShell, change directory to the one above the one you're attempting to alter (example; if you were trying to change the permissions of C:\xampp\htdocs\some-folder, you'd cd to C:\xampp\htdocs) Then run the chmod command chmod 0777 some-folder replacing "some-folder" with, in your case, "public_html" - The other method is to use Windows file/folder properties, altering the permissions in [directory] -> Properties -> Security -> Permissions Why we don't do this Granting read/write/execute to the entire webroot is a massive security hole. Upload and execute anything, brilliant! Goodbye, hard work. Consider moving whatever needs to write to the webroot into a subfolder and simply making that 0766 instead (owner can read/write/execute, anyone else can r/w), or even the standard 0755 (owner r/w/x, everyone else r/x but not write)
-
Love a Digital Ocean droplet, and Vultr's pretty good too. Had no issues with either provider
-
That hasn't legally been my name for over 4 years. π
-
gRPG v2 is open-source and still actively maintained π
-
We have a "Flag as spammer" feature that allows us to - you guessed it - flag the user as a spammer. The forum software's automation takes over according to a few rules set up in the back end that removes the posts and bans the account in question.
-
We've been fighting it during the temporary antispam downtime. Don't worry, they won't win π
-
Busy, busy! KumaBot Defender (an anti-bot, anti-threat solution for use on Twitch) is demanding a fair chunk of my time. I've also been working with clients on their projects, ranging from text-based games to eCommerce and CMS work. TL;DR: Still here, just busy.
-
Error reporting! When in doubt, go straight for the logs. Glad you found it π
-
If you're already using Docker, why not Dockerize your project? If you're not using containers, why not?! Once over the initial hurdle of "whaddafuqisthisballs?!", Docker/Podman/Portainer can be span up in 1 command. There are a few forks of the now open-source MCCv2 which include variations of configs to run in containers. On a personal note, since writing a drop-in Docker config (copy files -> paste files, done), I haven't touched LAMP/XAMPP/WAMP (couldn't anyway, I'm on Linux) and don't bloody want to!
-
Agreed! However, the question of "how far away from original MCC do we want to take this?" was raised. I otherwise swear by dependency injection
-
Are browserbased games still fun to play in 2024?
Magictallguy replied to miyevan's topic in Browsergames
There's still quite a large following for this style of game. It would stand to evidence that people still consider it fun. Also, these games are making a resurgence, so they must be wanted. -
You'd be surprised what motivation does for one's desire to code. In one day, I refactored MCCv2 in its entirety to use ParagonIE's EasyDB - last night. Here's the branch π Edit: And here's a Dockerized version
-
If nobody beats me to it, consider it done. I'm not as experienced with Eloquent as I'd like to be, so I'll be avoiding implementation. If the concept gains traction, I'll bite the bullet and blow off the dust, as it were. That being said, replacing an ORM with another on a project this arguably small would be a small feat. As for PDO (which @ags_cs4 mentioned), I quite like ParagonIE's EasyDB. Its performance - while I can't provide statistics right now - has been exactly what I'm looking for; easy to use, fast, (relatively) light on resources. .. which, thinking about it, also opens another question - do we want to rely on package managers (npm, composer, etc.) or ship it all in-house?
-
While that isn't my choice, I admit I'm curious! Semi-related; So, what about .. transactions? 2 method additions to the database class and we've got easy-enough transactions. I'm aware that MyISAM is a non-transactional storage engine, whereas InnoDB would support them fine (not to worry, MyISAM will just ignore the commit/rollback and run as "normal"). /** * @param string $name * @param array $arguments * @return void */ public function __call(string $name, array $arguments) { call_user_func_array([$this->connection_id, $name], $arguments); } /** * @param Closure $func * @return void */ public function try_transaction(Closure $func): void { try { $this->begin_transaction(); $func(); $this->commit(); } catch (mysqli_sql_exception $e) { $this->rollBack(); throw $e; } } Then, for usage, and using the new staff roles as example; /* BEFORE */ $this->db->query( 'DELETE FROM users_roles WHERE staff_role = ' . $role_id, ); $this->db->query( 'DELETE FROM staff_roles WHERE id = ' . $role_id, ); stafflog_add(ucfirst($log)); /* AFTER (where $role_id is the role's ID and $log is a string) */ $save = function () use ($role_id, $log) { $this->db->query( 'DELETE FROM users_roles WHERE staff_role = ' . $role_id, ); $this->db->query( 'DELETE FROM staff_roles WHERE id = ' . $role_id, ); stafflog_add(ucfirst($log)); }; $this->db->try_transaction($save); Do we want?
-
Oh, sick! Gimme a moment to update the cronless crons to use the new staff roles and I'll fire PRs π Branches merged, PR sent
-
So yeah, about having a place to send all these. The open-sourcing has renewed the soft spot for MCC
-
So, thought I'd start the ball rolling on releasing up-to-date mods for MCCv2-PHP8-Community (or whatever Dave's calling it) - here's a staff roles overhaul, loosely based on Discord's Roles, and on a feature branch. Want it? (I may or may not be hinting at the possibility of an MVC-ish release too) For anyone else here, feel free to use/upgrade these concepts π Edit: Just finished overhauling the crons. Now with optional "use timestamps instead" alternative to crons, the ability to force-run a cron, and status logging
-
This was fun. More, please! π Ooh! Here's a potentially-horrifying idea. Lets go through and update all MCCv2 mods to be PHP8-compliant and release them under one mass repo (with author's permission if not considered abandonware, of course) >:D Ooooh! Can we do a module installer? plzplzplz
-
As much as I would like to, I wasn't sure on just how far away from MCCv2's "origins" we wanted to pull it. So this PR is primarily PHP8-compliance (and a minor optimisation to the viewuser->staff->gethostbyaddr calls) Huh, second time I've heard that project today - and nope, but I'm curious to see what that would chuck back. Little bits, here and there. There's much more I'd like to do, but again, I don't want to pull it too far away from what it was (without community approval, at least) -- Edit: On a related note, I did write up a docker-compose.yml - runs OOTB with `docker compose up` (with optional -d flag to detach) - if we want to be able to dockerize it (great for dev *cough cough*)
-
Done. PR sent. PR set as draft while I run tests. PR re-sent!
-
I sure do - Orsokuma
-
Without wanting to seem like I'm fanning the flames here; Ali, you've been posting in this topic with updates to the engine as you've gone along and responded to people posting here too. Does that not imply you've been checking as you go along? I can certainly understand the convenience of instant messaging platforms as I much prefer them myself. That being said, I've found public transparency to be useful. Not only does it allow people to read the answers to questions already asked (which might include their own), it also shows you're actively engaging the people using your stuff. Uridium raises a valid point. This is your own project-based thread in a programming-oriented forum, it makes perfect sense to talk about your project here
-
This implies you've entered the wrong connection details. Hi, I'm one of the guys who wrote it π
-
Det hΓΈres ut som et "du"-problem kekekek
-
You previously have successfully installed this mod. The error message you're getting, in this context, means that there isn't a match in your switch() statement You've probably seen something like this.. switch ($_GET['action']) { case 'something': doSomething(); break; case 'else': doSomethingElse(); break; default: echo 'Error, this script requires an action.'; break; } ..and in your URL, you've probably seen something like: yoursite.com/staff_users.php?action=example If you're trying to give an "action" that doesn't exist (i.e., isn't in your switch() statement), then you're gonna see that "Error, action required" message. In a nutshell, make sure that whatever you're clicking on your site is going to the right place. Note: GETDATA (in this case, the $_GET['action'] bit) is case-sensitive. I.e., "example" is not a match to "Example".