Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[BETA] MapleBitCMS

Joined
Jul 12, 2011
Messages
1,229
Reaction score
475
Why not just work on an actual Stormcaster front-end? I don't know what features you already have working with your back end but isn't this a duplication of work? Either way, cool to see Laravel being used to update a still-popular project.

Great question! The tldr; of the answer is, I've learned a lot in the last couple years, and Laravel has gotten significantly better alongside me :)
For a bit more context - I think stormcaster had a lot of good ideas, and was generally well executed for where I was at as a developer four years ago. It's stateless, utilized JWT, implicit model binding and a bunch of other Laravel Things to make the code succinct and generally easy to understand. My main issues with stormcaster today includes:
- JWT is not great or ideal for session authentication for a variety of reasons. With L7.x, we now have the which makes token based authentication a first class citizen within Laravel. Upgrading stormcaster to 7.x just to ditch JWT is not trivial or worth it.
- stormcaster is not well tested. There's a lot of holes in the tests, and I wasn't comfortable picking up an old codebase without complete test coverage. I'm attempting to maintain 100% (or near 100%) coverage for controllers and model logic to fix this issue, should I drop this project again for a bit
- lack of documentation. with v2, swagger specs are self-documenting and makes it easier for me (or others) to understand available endpoints and develop frontends.

In general though, Laravel is Laravel, and at the view layer there hasn't been a ton of breaking changes in the last few years. This is great because I can just copy and paste (as I have in some spots) the methods and bits of code I still like today, so there isn't a ton of duplication in the "business" logic - I'm mainly just rewriting the core of the app.

Lastly, my goals for v2 are a bit different than stormcaster. The main distinction is that I want to render a frontend within the same Laravel app (instead of just being an API), making it just as easy to setup and get running as it is with MapleBit v1. If I had to guess, people use MapleBit purely because it's incredibly easy to download and run anywhere, and ideally v2 should be the same. hope this answers your question!

PS: I'm just kind of developing this stuff for fun, I don't really care if it's never completed. Having a well paying job as a developer means that I just write code in my free time when I'm bored and want to explore new ideas - this is my outlet for some of that energy :D (I don't really care to make any money out of MS now or in the future). I've also considered just writing this in my lang of choice rather than PHP, but to be honest, Laravel is such a delightful experience to write web apps with!

-----------------------
added some react views today:
 
Last edited:
Joined
Oct 25, 2008
Messages
1,372
Reaction score
604
Great question! The tldr; of the answer is, I've learned a lot in the last couple years, and Laravel has gotten significantly better alongside me :)
For a bit more context - I think stormcaster had a lot of good ideas, and was generally well executed for where I was at as a developer four years ago. It's stateless, utilized JWT, implicit model binding and a bunch of other Laravel Things to make the code succinct and generally easy to understand. My main issues with stormcaster today includes:
- JWT is not great or ideal for session authentication for a variety of reasons. With L7.x, we now have the which makes token based authentication a first class citizen within Laravel. Upgrading stormcaster to 7.x just to ditch JWT is not trivial or worth it.
- stormcaster is not well tested. There's a lot of holes in the tests, and I wasn't comfortable picking up an old codebase without complete test coverage. I'm attempting to maintain 100% (or near 100%) coverage for controllers and model logic to fix this issue, should I drop this project again for a bit
- lack of documentation. with v2, swagger specs are self-documenting and makes it easier for me (or others) to understand available endpoints and develop frontends.

In general though, Laravel is Laravel, and at the view layer there hasn't been a ton of breaking changes in the last few years. This is great because I can just copy and paste (as I have in some spots) the methods and bits of code I still like today, so there isn't a ton of duplication in the "business" logic - I'm mainly just rewriting the core of the app.

Lastly, my goals for v2 are a bit different than stormcaster. The main distinction is that I want to render a frontend within the same Laravel app (instead of just being an API), making it just as easy to setup and get running as it is with MapleBit v1. If I had to guess, people use MapleBit purely because it's incredibly easy to download and run anywhere, and ideally v2 should be the same. hope this answers your question!

PS: I'm just kind of developing this stuff for fun, I don't really care if it's never completed. Having a well paying job as a developer means that I just write code in my free time when I'm bored and want to explore new ideas - this is my outlet for some of that energy :D (I don't really care to make any money out of MS now or in the future). I've also considered just writing this in my lang of choice rather than PHP, but to be honest, Laravel is such a delightful experience to write web apps with!

That's awesome to hear. While I'm obviously more of a front-end guy, I'm sure I can learn a thing or two by following your developments on v2. Good luck!
 
Joined
Jul 12, 2011
Messages
1,229
Reaction score
475
had some free time to work on this this weekend, here's where I'm at for v2:
doesn't look like much :D, but has some stuff going on under the hood like:
- boilerplate code to handle authentication
- boilerplate code to handle routing (and active links in the nav, finally)
- making (authed or not) api calls
- templating to match MapleBit v1
- exposing backend yaml config values to the frontend

if you wanna give it a spin, check out . Lots of UI-niceties are missing of course. working on getting all the boilerplate/bootstrapping work out of the way, then will think about making UX better. Also, code quality on the frontend isn't great admittedly, but again, just focusing on getting all the tedious work out of the way then will get things a bit more organized and cleaned up.

If you're interested in contributing (lol, unlikely, I know), feel free to shoot me a DM or submit a PR!
 
Newbie Spellweaver
Joined
Jul 24, 2012
Messages
15
Reaction score
0
had some free time to work on this this weekend, here's where I'm at for v2:
doesn't look like much :D, but has some stuff going on under the hood like:
- boilerplate code to handle authentication
- boilerplate code to handle routing (and active links in the nav, finally)
- making (authed or not) api calls
- templating to match MapleBit v1
- exposing backend yaml config values to the frontend

if you wanna give it a spin, check out . Lots of UI-niceties are missing of course. working on getting all the boilerplate/bootstrapping work out of the way, then will think about making UX better. Also, code quality on the frontend isn't great admittedly, but again, just focusing on getting all the tedious work out of the way then will get things a bit more organized and cleaned up.

If you're interested in contributing (lol, unlikely, I know), feel free to shoot me a DM or submit a PR!

I tried to run this version on Linux CentOs 7 and it shows blank screen while running the site or forbidden access than I looked into index.php and it doesn't have ?> end for the PHP file. Check that please on latest github version.
 
Joined
Oct 25, 2008
Messages
1,372
Reaction score
604
I tried to run this version on Linux CentOs 7 and it shows blank screen while running the site or forbidden access than I looked into index.php and it doesn't have ?> end for the PHP file. Check that please on latest github version.

The ?> at the end of the PHP file is optional.



EDIT: Got it working just fine, so can confirm the code is fine.
xl6RaI9 - [BETA] MapleBitCMS - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Last edited:
Joined
Jul 12, 2011
Messages
1,229
Reaction score
475
I tried to run this version on Linux CentOs 7 and it shows blank screen while running the site or forbidden access than I looked into index.php and it doesn't have ?> end for the PHP file. Check that please on latest github version.

Did you install dependencies with composer? In any case, v2 isn't ready for general consumption yet
 
Joined
Oct 25, 2008
Messages
1,372
Reaction score
604
Did you install dependencies with composer? In any case, v2 isn't ready for general consumption yet

Wouldn't hurt to have a very basic installation guide, at the very least with the bare minimum commands required to set it up. I obviously knew about composer but I get the feeling unless you work with PHP a lot, you might not even know what it is, much less that you need it. Could save you from people asking similar questions in the future.
 
Joined
Jul 12, 2011
Messages
1,229
Reaction score
475
Wouldn't hurt to have a very basic installation guide, at the very least with the bare minimum commands required to set it up. I obviously knew about composer but I get the feeling unless you work with PHP a lot, you might not even know what it is, much less that you need it. Could save you from people asking similar questions in the future.

I tried to run this version on Linux CentOs 7 and it shows blank screen while running the site or forbidden access than I looked into index.php and it doesn't have ?> end for the PHP file. Check that please on latest github version.

Fair, I wasn't expecting folks to try out v2 this early! I've added a readme that guides manual installation:
 
Joined
Oct 25, 2008
Messages
1,372
Reaction score
604
I did all you said and found the following


Why are you even trying to run this in the first place, especially if you clearly have zero technical skills or abilities? This isn't even close to being ready for production use. If you're this helpless and are unable to do basic Google searches, you're probably out of luck
 
Newbie Spellweaver
Joined
Jul 24, 2012
Messages
15
Reaction score
0
Why are you even trying to run this in the first place, especially if you clearly have zero technical skills or abilities? This isn't even close to being ready for production use. If you're this helpless and are unable to do basic Google searches, you're probably out of luck

W.E man, older version works for me.
 
Newbie Spellweaver
Joined
Oct 15, 2020
Messages
35
Reaction score
10
Having a problem where after typing in id n password, pressed login and nothing happened, but after press F5 ( refresh ) im logged inanyone got similar issue?
 
Discord: .z41n
[VIP] Member
Joined
Aug 3, 2008
Messages
172
Reaction score
26
Got this all to work, thanks very much. Website looks beautiful now, a way bigger upgrade from the old CMS'.

Two things though:
1.) the mobile version doesn't seem to have the navbar, but I see on the updates that the mobile navbar was fixed?
2.) some users are getting an issue stating "unable to update vote records"

Thanks
 
Junior Spellweaver
Joined
Jan 29, 2011
Messages
151
Reaction score
5
Hey. I'm getting an error "Notice: Trying to get property 'num_rows' of non-object in C:\wamp64\www\new\sources\public\main-rank.php on line 19" and its driving me nuts.
 
Newbie Spellweaver
Joined
Sep 21, 2019
Messages
25
Reaction score
2
Hey. I'm getting an error "Notice: Trying to get property 'num_rows' of non-object in C:\wamp64\www\new\sources\public\main-rank.php on line 19" and its driving me nuts.

I have checked the repository main branch and this is line 19 on this file:

Code:
if ($gc->num_rows) {


On the previous line, the $gc variable value is set:

Code:
$gc = $mysqli->query("SELECT c.$first , c.$second, c.name, c.accountid, a.banned AS banned FROM characters c LEFT JOIN accounts a ON c.accountid = a.id WHERE c.gm < '$gmlevel' AND banned = 0 GROUP BY c.id DESC ORDER BY $first DESC, $second DESC LIMIT 5");

The code is expecting the result of the query to be an object, but apparently it is returning a null value, which isn't an object, obviously.

I believe the reason behind the null result from the query is related to bad database credentials configuration. Make sure you've properly configured your database connection at the database config file (which I believe it's assets/config/database.php from what I checked at github repo).
 
Back
Top