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!

Web [Discussion] Powerful Website Features

Joined
Sep 8, 2011
Messages
822
Reaction score
129
Hello
Been working on a really nice CMS in Laravel, I'm practically done with the following:

- Homepage
- Section of Featured News Carousel [max 3 items];
- Section of Latest News [max 5 items]);

- Registration, Login, Account Recovery;

- Download page;

- Vote page-wip;

- Donate page-wip;

- Status page
- Currently it works only with a single world but I plan on adding support for multiple worlds;
- Result caching and stored as JSON on Disk;

- News page
- Paginated;
- Displays all news;
- Display by Category;
- Display specific Article;

- Rankings page
- Paginated;
- Displays Overall Rankings (by Rank/Rebirths, dependent on config:server.type);
- Displays Class Rankings (by selected Class, Explorers-only for now);
- Displays Hall of Fame (by Fame);
- Display any of the above rankings by Character Name;
- Displays Guild Rankings-wip;

- Interactive User Dashboard
- Plenty of data about your account
- Security (Created, Last Updated, Last Login);
- Rewards (NX Cash, MaplePoints, VotePoints-wip);​
- Default (aka Main) Character selection with information + Reset
- Character Removal (requires Reason, Password, PIN, Date of Birth and Checkbox Confirmation)-wip;

- Interactive GM Dashboard
- News
- Index with plenty of data about each Article, Paginated;
- Edit-wip;
- Delete;
- Create-wip;
- Informant-wip;
Informant is a global message system that's mainly being used
to deliver site-wide announcements on all pages.


Any suggestions for more features/ideas?
What would you like to see in a server's website or GM/Admin panels? I'm talking about non-generic/non-common features, things that are both unique and impressive, as well as useful.
This may include GM tools, Admin utilities, Widgets and basically anything that comes to your mind.


Thanks!
 
Newbie Spellweaver
Joined
Apr 30, 2011
Messages
81
Reaction score
35
Idea :
I don't know if you can do such things, but maybe add something to control the server?
Like turning off the server, restarting the server.
Disconnect people, ban people, edit character data such as hair, eyes, money in storage and inventory.
 
Upvote 0
Joined
Sep 8, 2011
Messages
822
Reaction score
129
Idea :
I don't know if you can do such things, but maybe add something to control the server?
Like turning off the server, restarting the server.
Disconnect people, ban people, edit character data such as hair, eyes, money in storage and inventory.

Controlling the server/disconnecting people would definitely be useful but those two require modifications to the server's source code, it's not something that can be done exclusively on a website without depending on the Server itself.
As far as banning and editing character data, that sounds interesting.

I was planning to add a "investigations" section, in which all reports of rule violations are accessible, and just like a support ticket, you could view the report, add evidence to the report, reply to the player's report and have plenty of actions present to handle it (such as banning).

Any more ideas? :D:
 
Upvote 0
Joined
Apr 10, 2008
Messages
4,087
Reaction score
1,264
Idea :
I don't know if you can do such things, but maybe add something to control the server?
Like turning off the server, restarting the server.
Disconnect people, ban people, edit character data such as hair, eyes, money in storage and inventory.

That would require a connection to the server, something like an API. It's actually a goal of mine in my Destiny emulator, making it really advanced so there would be a world list with channels and then you can select a character and do actions to it. It's web so you can also control it with your mobile phone even when you're away. Quite useful.
 
Upvote 0
Joined
Sep 8, 2011
Messages
822
Reaction score
129
That would require a connection to the server, something like an API. It's actually a goal of mine in my Destiny emulator, making it really advanced so there would be a world list with channels and then you can select a character and do actions to it. It's web so you can also control it with your mobile phone even when you're away. Quite useful.
Yeah that would be awesome. Problem is, if I implement this - almost no one will be able to use it because they wouldn't know how to code it in their own server source. :/
 
Upvote 0
Newbie Spellweaver
Joined
Apr 30, 2011
Messages
81
Reaction score
35
That would require a connection to the server, something like an API. It's actually a goal of mine in my Destiny emulator, making it really advanced so there would be a world list with channels and then you can select a character and do actions to it. It's web so you can also control it with your mobile phone even when you're away. Quite useful.

I had this idea for a long time for when i ever start my own private server.
But i would write my own source first.
It would be a great site.

Yeah that would be awesome. Problem is, if I implement this - almost no one will be able to use it because they wouldn't know how to code it in their own server source. :/

Well, starting a private server isn't easy and it requires knowledge anyway.
Also, you could write a tutorial on how to code the connection with the server with the release.
But you could still add such things as character edit since the data is stored in a DB?

Here is a list of what you could add :
Online shop editor (Database)
Online PNPC creation
Online Account edit for admins
Online Character edit for admin
Online shop database for users (So they can see what shops are available)
Actually just try to build anything you can with the available data.
Maybe not everyone will like these features but you should allow them to enable/disable some functions.

Edit :
Try to add a permission function aswel if you can, so the admin can select which group can use the functions on the site such as character/account edit.
Or maybe the admin/supergm should be allowed to edit shops without being able to get to the other functions such as character edit.
This is what you can do with permissions.
 
Upvote 0
Skilled Illusionist
Joined
Feb 26, 2009
Messages
307
Reaction score
36
I had this idea for a long time for when i ever start my own private server.
But i would write my own source first.
It would be a great site.



Well, starting a private server isn't easy and it requires knowledge anyway.
Also, you could write a tutorial on how to code the connection with the server with the release.
But you could still add such things as character edit since the data is stored in a DB?

Here is a list of what you could add :
Online shop editor (Database)
Online PNPC creation
Online Account edit for admins
Online Character edit for admin
Online shop database for users (So they can see what shops are available)
Actually just try to build anything you can with the available data.
Maybe not everyone will like these features but you should allow them to enable/disable some functions.

Edit :
Try to add a permission function aswel if you can, so the admin can select which group can use the functions on the site such as character/account edit.
Or maybe the admin/supergm should be allowed to edit shops without being able to get to the other functions such as character edit.
This is what you can do with permissions.

Hello, just my thoughts about this.

1. Online shop editor.
- Cool idea but in order to update the shop you need to use a command or restart the server. However, this is a nice feature to have.
2. Online PNPC creation.
- To place a player npc you need to X and Y position of the GM, which makes this not possible to do.
3. Online account edit for Admins.
- Maplebit has a basic version of this, you could upgrade that piece of code.
4. Online character edit for Admins.
- you talking about 'hair/skin/face' stuff or whole 'stats, skills and inventory' management? either way pretty cool idea, but lots of work to make it pretty and clean.
5. Online shop database for users.
- It's a nice feature, I don't know why more people thought of making this. (like myself)

I also been working on a CMS with some small JQuery touches, and i some ideas myself aswell.

1. Speedruns ranking list - something that only would work in low rate servers.
2. Donator/intern/gm logs for admins.
3. Online character view - Stats, inventory, buddylist, guilds, pets, skill list. (MapleAdmin thingy)
4. vote logs - keep track on votes and add a vote ranking to it.
5. Forgot password system - will sent emails with a recovery link (Made a version of this already)
6. Phanthom skill manager - Servers with phanthom who needs to steal skills from explorers can be a hard task in servers. This should be an npc or even quest based that hands out skills from explorers to phantoms. (Made a version of this already)
7. Ticket / email support - A built in contact form that sends an ticket / email.
8. Automated donation system - You don't need to do a thing anymore as an admin and it's awesome. (I made a paypal only automated donate system and it works really good!)
 
Upvote 0
Newbie Spellweaver
Joined
Apr 30, 2011
Messages
81
Reaction score
35
I'm not experienced in webdevelopping as you are, so it where some cool ideas for me????????????
Some things may be hard to make, but that's part of quality.

Your ideas are much nicer than mine tho!
I like them
 
Upvote 0
Super-Moderator
Staff member
Super-Moderator
Joined
Apr 28, 2007
Messages
1,494
Reaction score
755
This is awesome. I'm creating something as well (will create a development thread later), but it's a pain in the butt knowing there is no single CMS using composer atm (afaik) or using a modular framework (symfony). May this CMS be completed, I might reconsider re-creating my upcoming development(release) for Laravel compatibility.

@Redicated the reason why you don't see a webserver doing anything related to editing in-game content (such as transferring items, changing hairstyles, etc) is because you do not want a webserver to interfere with a database which is being used by a gameserver. Which is basic knowledge, but GhostSnyper gave me a little bit more information on this subject. You want these changes to be done by the gameserver, because the gameserver has got the correct and a whole different approach of dealing with the request than a webserver.

Of course it would theoretically work if you edit hairstyles and faces if the user is logged out via a webserver, but the best thing would be to let the requests/actions run via the gameserver.
 
Upvote 0
Newbie Spellweaver
Joined
Apr 30, 2011
Messages
81
Reaction score
35
@Redicated the reason why you don't see a webserver doing anything related to editing in-game content (such as transferring items, changing hairstyles, etc) is because you do not want a webserver to interfere with a database which is being used by a gameserver. Which is basic knowledge, but GhostSnyper gave me a little bit more information on this subject. You want these changes to be done by the gameserver, because the gameserver has got the correct and a whole different approach of dealing with the request than a webserver.

Of course it would theoretically work if you edit hairstyles and faces if the user is logged out via a webserver, but the best thing would be to let the requests/actions run via the gameserver.

Wow.. i didn't know this tho :eek:
But that means that it wouldn't be a problem IF requests are sent to an API of the gameserver which will handle these requests right?
Just like client & server.
Or am i wrong with this?
 
Upvote 0
Joined
Sep 8, 2011
Messages
822
Reaction score
129
This is awesome. I'm creating something as well (will create a development thread later), but it's a pain in the butt knowing there is no single CMS using composer atm (afaik) or using a modular framework (symfony). May this CMS be completed, I might reconsider re-creating my upcoming development(release) for Laravel compatibility.

@Redicated the reason why you don't see a webserver doing anything related to editing in-game content (such as transferring items, changing hairstyles, etc) is because you do not want a webserver to interfere with a database which is being used by a gameserver. Which is basic knowledge, but GhostSnyper gave me a little bit more information on this subject. You want these changes to be done by the gameserver, because the gameserver has got the correct and a whole different approach of dealing with the request than a webserver.

Of course it would theoretically work if you edit hairstyles and faces if the user is logged out via a webserver, but the best thing would be to let the requests/actions run via the gameserver.

Are you planning to work on a MapleStory CMS or a general/other game one?

Anyway, what you just said is very simple, when you're editing this data in the Database directly (or through a website that touches the Database), these edits might be overridden.
When the GameServer queries the Db for some Data (such as Account data), it creates an object to hold and manipulate it, as well as caching it in memory instead of querying for that data again and again.
Then, the server manipulates this data as needed, all the while - the edits are being served from memory and not from the Database.
When the need to save it arise, the server then extract the information from the selected Account object (or any other object that represents the data in question) and saves it as a whole, in other words - every change to this data inside the database - will not be applied because the server is saving the new values that are taken from an object in the memory, are saved instead.

A basic example of this would be the LoggedIn column.
When you're logged-in in-game, you can set your account's loggedin column to offline (represented as a 0, which means stateless-offline, other values are 1 - for loginserver, 2 for channelserver-ingame), and it will let you in most sources to login into the same account even if the account is logged in (because it checks against the database, instead of checking the object in memory), but it will not destroy the existing Account object that represents the real logged-in user, in other words - it will not disconnect or otherwise affect, the online user, thus why the requirement of logging-off before attempting to make changes such as this (or Voting for that matter).
 
Upvote 0
Super-Moderator
Staff member
Super-Moderator
Joined
Apr 28, 2007
Messages
1,494
Reaction score
755
Wow.. i didn't know this tho :eek:
But that means that it wouldn't be a problem IF requests are sent to an API of the gameserver which will handle these requests right?
Just like client & server.
Or am i wrong with this?
Yes, that is possible. You can connect to your gameserver via sockets which would make this possible.

Are you planning to work on a MapleStory CMS or a general/other game one?

Anyway, what you just said is very simple, when you're editing this data in the Database directly (or through a website that touches the Database), these edits might be overridden.
When the GameServer queries the Db for some Data (such as Account data), it creates an object to hold and manipulate it, as well as caching it in memory instead of querying for that data again and again.
Then, the server manipulates this data as needed, all the while - the edits are being served from memory and not from the Database.
When the need to save it arise, the server then extract the information from the selected Account object (or any other object that represents the data in question) and saves it as a whole, in other words - every change to this data inside the database - will not be applied because the server is saving the new values that are taken from an object in the memory, are saved instead.

A basic example of this would be the LoggedIn column.
When you're logged-in in-game, you can set your account's loggedin column to offline (represented as a 0, which means stateless-offline, other values are 1 - for loginserver, 2 for channelserver-ingame), and it will let you in most sources to login into the same account even if the account is logged in (because it checks against the database, instead of checking the object in memory), but it will not destroy the existing Account object that represents the real logged-in user, in other words - it will not disconnect or otherwise affect, the online user, thus why the requirement of logging-off before attempting to make changes such as this (or Voting for that matter).
No, I'm creating an online marketplace (dev thread later). It's OOP but no frameworks are being used so it can be easily copied & pasted in an existing CMS. However, I really wanted to use a normal MVC structure and make it modular so it can be implemented using composer. Anyway, it's really tough since I will have to do some JAVA coding as well. Create a socket (using SSL, thanks GhostSnyper!), communicate with the gameserver and let the gameserver handle the requests. However, it has to be cross-source compatible.. so I better pray the functions to transfer items and mesos are the same for every OdinMS based source....
 
Last edited:
Upvote 0
Joined
Sep 8, 2011
Messages
822
Reaction score
129
Small changes mostly, code refactoring and just one feature was added.
-Added a Locking mechanism for GM panel, you must re-authenticate on a LockScreen page before you can access the GM panel, regardless of how long it has been since your last login, in other words - even if you logged in just now - you're still required to input your password again.

Your access to the GM panel is locked every 30mins.
Your account session (site-wide, not just GM panel) expires 2hrs (by default, can be changed. See Laravel's Auth package docs) after a successful login.

I've spent most of my free time lately looking for a suitable template to use for the GM panel.
I chose to go with Integral, an admin panel template by G-Axon, and AdminLTE's LockScreen by Almsaeed Studio.
I'm planning to incorporate several third party elements in this template, elements mostly from other admin templates.

HBP00AY - [Discussion] Powerful Website Features - RaGEZONE Forums
V9jUS8m - [Discussion] Powerful Website Features - RaGEZONE Forums
The LockScreen in nearly finished, the only thing left to do in this page is to decide whether I should make a Avatar system (displayed in the LockScreen form) or use Gravater instead.

I've yet to update the GM Dashboard to the new template, that's how it looks right now.
Spoiler alert, it's very very minimal..
dOuarSB - [Discussion] Powerful Website Features - RaGEZONE Forums
4ZR9fDR - [Discussion] Powerful Website Features - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Last edited:
Upvote 0
Joined
Sep 8, 2011
Messages
822
Reaction score
129
I can't help but to notice something...

Is that Bootstrap 2.x???

Absolutely not, the current template (due to be replaced with a new one) as well as the new one are both 3.3.7, though - as it seems, Bootstrap won't last for long as the #1 CSS framework out there, with competition from Material and Semantic-UI, as they both (especially the latter) mature in time, they will replace it in no time.

Not sure how far I should go with working on these Bootstrap templates..
 
Upvote 0
Joined
Sep 8, 2011
Messages
822
Reaction score
129
Small update~
Started converting components into full-fledged Laravel packages.
- Status package is now done (checks the world & channels status, stores cache as JSON, storage/app/sockets.json)

The Status package is fully configurable through the Server config file, currently supports only one* world.
*Multi-World support will be added soon, also support for CashShop server(s) and designated LoginServer(s).

I still need to create a centralized package for all Server-related stuff to include the Server config file globally (all packages, by adding it as a required package via composer.json).

More packages that are currently on the list:
- Informant

My CMS will be called Enigma and I plan to release a miniature version of it with Core components only once I'm done with the major stuff.
Will be released under .
 
Upvote 0
Back
Top