Jump to content

AquaCore Control Panel


Wynn -

Recommended Posts


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  23
  • Reputation:   18
  • Joined:  02/27/14
  • Last Seen:  

Demo: http://aquacore.org/

Repository: https://github.com/AquaCore/AquaCore

 

Overview
AquaCore is a free open source control panel written from scratch in PHP. it works with the latest versions of rAthena and Hercules. I've started this project with the intention of making a responsive, easy to use control panel for both users and administrators. It has a CMS, with tags, categories, rating system, comments, content hierarchy, scheduling and multiple pages. Most settings can be edited and multiple login and char/map servers can be added in the admin CP.

Key features

  • Easy installation
  • One account to register and manage multiple game accounts
  • Comments
  • Rich text editor for content (HTML) and comments (BBCode)
  • Optional rating system for content and comments
  • Automatic RSS feed
  • Roles and permissions
  • Map marker
  • Birthday, pincode and account slots support
  • Display character sprites (using ROChargen)

Features under consideration

  • Content versioning
  • Multi-language support
  • Analytics (Maybe integration with Piwik or Google Analytics)
  • Admin dashboard personalization

Screenshots

Server Info:

gkcJEck.png


Admin CP:

nvNnelK.png


Post creation:

2wQkcQe.png


Main page:

AWxutPZ.png


A post:

ctDFslk.png


Full gallery.

This control panel is currenty under development, I am looking for OOP PHP and javascript developers. Please contact me if you're interested in joining this project.

 

Downloads:

Homunculus Images: https://www.dropbox.com/s/9nam9iv269yq2vs/homunculus.tar.gz

Item Images: https://www.dropbox.com/s/tdhs1f0sbkdtbdo/item.tar.gz

Monster Images: https://www.dropbox.com/s/j3jptuir7ofby4r/mob.tar.gz

Map Images: https://www.dropbox.com/s/n8v25a06jpfhtvn/map.tar.gz (Need Editing)

Smileys: https://www.dropbox.com/s/gq8v9hgeapdbgez/smiley.tar.gz

Edited by Wynn -
  • Upvote 6
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  38
  • Topics Per Day:  0.01
  • Content Count:  949
  • Reputation:   174
  • Joined:  06/12/12
  • Last Seen:  

Looks good and neat, I hope this would be developed more and eventually get in par with flux.. Kudos!

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  23
  • Reputation:   18
  • Joined:  02/27/14
  • Last Seen:  

Thank you, the CP is still under development. I've added screenshots of some RO related pages to the gallery and I'll post a link to the demo site soon.

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  14
  • Topics Per Day:  0.00
  • Content Count:  76
  • Reputation:   1
  • Joined:  01/21/14
  • Last Seen:  

wow this is nice :D

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  23
  • Reputation:   18
  • Joined:  02/27/14
  • Last Seen:  

Thanks :D.  The demo is up.

http://aquacore-wynn.rhcloud.com/

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  4
  • Reputation:   0
  • Joined:  03/03/12
  • Last Seen:  

(after a long time away from rA ... back reading here)

 

Very very nice work.

The item shop is great; I really love the player locator function at "Who is online" menu.

Wondering if addons like WoE reports, Vending database or MvP/PvP ranks will be avaible too ... that would make it great.

The only "problem" I've encountered is some headgear not fitting correctly the characters head on ladders and who is online pages. Still a minor problem, sure can be fixed quickly (KeyWorld release works perfectly to other users).

 

Keep on working, hopeful you will meet some good Dev to help you.

For free or for sale this feature will be pretty nice to have into a server.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  23
  • Reputation:   18
  • Joined:  02/27/14
  • Last Seen:  

Of course. I've made a vote for points plugin, you can see it working here. Once I finish the admin CP and release the first version I'll start working on forum integration, patcher management, image gallery and vending plugins.
 

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  4
  • Reputation:   0
  • Joined:  03/03/12
  • Last Seen:  

Epic. /slur

 

I will definitely follow this thread. Thanks for your work.

Edited by Dies Irae
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  23
  • Reputation:   18
  • Joined:  02/27/14
  • Last Seen:  

Added a link to the github repository. Please don't use it for production as the admin CP is not complete, you won't be able to edit most char/map server related settings.

Edited by Eshe
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  30
  • Topics Per Day:  0.01
  • Content Count:  313
  • Reputation:   23
  • Joined:  12/27/11
  • Last Seen:  

Wow....nice cp.Love it /lv

Link to comment
Share on other sites

  • 3 weeks later...

  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  23
  • Reputation:   18
  • Joined:  02/27/14
  • Last Seen:  

Yah, I've exceeded my quota on openshift, so the site is down. I'll setup another demo on a vps and replace the link as soon as I can.

Edit:

The new demo is up, you can login as admin or a regular user.

http://aquacore.org/

Edited by Wynn -
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  27
  • Topics Per Day:  0.01
  • Content Count:  161
  • Reputation:   5
  • Joined:  02/07/13
  • Last Seen:  

This is beautifully done.

I've been looking for a solid alternative to FluxCP, mostly because of lack of support for the latest version of PHP.

 

I'll give it a shot tomorrow morning, looks very promising.

Any chance it has native support for multiple character servers/configurations?

I run (1) login server with multiple character/map servers, it'd be great to be able to easily allow users to:

 

  • Set default server
  • Show characters/items/stats based off of default server selected
  • Per-server menu option
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  23
  • Reputation:   18
  • Joined:  02/27/14
  • Last Seen:  

Yes, you can add as many login and char/map server as you want in the admin CP but you can't set a default server yet.

Each server has separate pages in the admin CP and the main site.

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  27
  • Topics Per Day:  0.01
  • Content Count:  161
  • Reputation:   5
  • Joined:  02/07/13
  • Last Seen:  

If the 'cache' folder doesn't exist, it results in a few PHP errors when you go to install.

The GIT download doesn't include the empty cache folder, but it was an easy fix. ;)

Just figured I'd mention it, for anyone else who gets something similar.

 

Also hit a snag on the install process, step 2, create folder:

mkdir(): Permission denied

 

Has something to do with permissions on the host that I'm using.

While this is easily rectifiable, it doesn't seem that the installer itself likes being halted during this particular process.

Is there any sort of check that it could perform prior to attempting the installation?

 

------------------------

 

Edit:

 

Problem was being caused by access levels + shared hosting.

I just checked the code to see what folders were being created and manually created them, installation went as intended.

 

Question:

During the installation process, it gives the option for many different encryption options for passwords.

I believe BCrypt is one of the most secure options that I saw in the list, but with rAthena, isn't it MD5 or nothing?

 

Edit: I see that this encryption is -for- the AquaCore user accounts and doesn't affect the password situation for the server accounts.

Very impressed by this whole system.

 

Additional (Unrelated) Error:

At the bottom of the administrative control panel, I'm getting the following:

 

Fatal error: Uncaught exception 'Aqua\Core\Exception\PHP' with message 'ob_flush(): failed to flush buffer. No buffer to flush' in /home/public_html/ro/lib/Aqua/Http/Response.php:340 Stack trace: #0 [internal function]: Aqua\Core\Exception\PHP::errorHandler(8, 'ob_flush(): fai...', '/home/p...', 340, Array) #1 /home/templar/public_html/ro/lib/Aqua/Http/Response.php(340): ob_flush() #2 /home/public_html/ro/admin/index.php(193): Aqua\Http\Response->send(true) #3 {main} thrown in /home/public_html/ro/lib/Aqua/Http/Response.php on line 340

 

---------------

 

Additional Error:

 

Under 'My Account', after linking my account for my server, it shows my character name, sex, last IP, login count and other relevant details, but when I click on 'Characters' or 'Storage', I get a '404, The page you requested does not exist' error.

Edited by Talaysen
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  23
  • Reputation:   18
  • Joined:  02/27/14
  • Last Seen:  

You can change the permissions set to new files and folders by defining the values of "Aqua\PRIVATE_FILE_PERMISSION", "Aqua\PUBLIC_FILE_PERMISSION", "Aqua\PRIVATE_DIRECTORY_PERMISSION" and "Aqua\PUBLIC_DIRECTORY_PERMISSION" in the options.php file.

 

Regarding the password hashing, all of the installation options are for the CP, that's the encryption used for the site accounts. When you add a server to the site in the admin CP you can choose whether to use MD5.

 

You'll get a 404 in some pages if you've added a login server but no char/map servers. You can't view your characters if there's only a login server.

 

I've fixed that error in the last commits, added the cache folder and changed the default permissions. Thanks :)

Edited by Wynn -
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  27
  • Topics Per Day:  0.01
  • Content Count:  161
  • Reputation:   5
  • Joined:  02/07/13
  • Last Seen:  

I added the login server and the char/map servers (both sets).

When I go to the server group page (path=r.servergroup), it lists both of the sub server pages.

Server 1 - Rates - Characters - Players Online

Server 2 - Rates - Characters - Players Online

 

The number of characters and players online presented is correct.

(The rates on Server #2 aren't right, but I imagine I can tweak that somewhere?)

 

On the server sub-menu (path=r.servergroup.server), I'm getting what appears to be an error?

It's a long string of text starting with "object(Aqua\Ragnarok\Server\CharMap)#81 (19) { ["server"]=> &object(Aqua\Ragnarok\Server)#67 (7) { ["key"]=> string(7) "

I'd paste the whole thing here, but it has quite a bit of sensitive info in it.

 

This happens for both server #1 and #2.

 

Links in the admin menu for the server (path=r.servergroup.server):

 

Server 1: Zeny Log, Shop Log, MVP Log, NPC Log, Guilds, and Characters(#2) all return blank pages, but no errors.

Pick Log, Characters(#1), and Parties return a message of 'Unexpected Error, An unexpected error occurred, please try again later'.

 

Characters appears twice in this menu, the first one directs to 'action=characters', the second directs to 'action=char'.

Guilds link directs to 'action=shop'.

Parties link directs to 'action=shop'.

 

Atcommand Log returns a list of commands that have been executed on the server.

 

If I can provide any additional information, let me know.

Also, I'd be happy to provide you with an admin account on the web control panel, if it'd help you with troubleshooting.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  23
  • Reputation:   18
  • Joined:  02/27/14
  • Last Seen:  

The admin CP isn't complete. The character, guild, party, most char/map logs and settings pages aren't done yet, that's why you're getting 404 errors when you access these pages.

I'm working on the admin server pages, for now the char/map page is just a var_dump of the server class (The long string starting with object(Aqua\Ragnarok\Server\CharMap)).
I'll be pushing a commit soon with new settings and log pages. You can edit the rates in admin/?path=r.<login server key>.<char/map server key>&action=rates

Edited by Wynn -
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  27
  • Topics Per Day:  0.01
  • Content Count:  161
  • Reputation:   5
  • Joined:  02/07/13
  • Last Seen:  

Oh, ok!

I just wanted to make sure I didn't have something incorrectly configured.

 

What about the 'characters' page under 'My Account'?

I added the char/map servers, but I'm still getting the 404/page doesn't exist error.

Same with the link for storage, under my account.

 

Additionally, the server group is now showing up as a menu item (which is fine, I'm sure that's intentional).

Only one of the defined map/char servers (I'll refer to this as the 'sub server') appears on this menu.

The following:

'Who's Online', 'Monster DB', 'Item Db',' Item Shop' all return:
"Unexpected Error, An unexpected error occurred, please try again later."

 

If I click on the sub-server name, (Valor), it shows the (server information page) with number of accounts registered, the characters registered, guilds, parties.

All of this information (and the class information) is correct. It shows the login/char/map servers as offline, which is incorrect.

The 'Ladders' page shows character information as it should.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  23
  • Reputation:   18
  • Joined:  02/27/14
  • Last Seen:  

The main site should be working correctly. The default theme only displays one server in the menu (bad design).
Can you post the urls you're using to access those pages (Who's online, Monster DB, etc) and send your error logs?

 

Edit: I just fixed the errors. The server menu looks weird when there are more than 1 sub-servers though, I'll have to fix too.

Edited by Wynn -
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  27
  • Topics Per Day:  0.01
  • Content Count:  161
  • Reputation:   5
  • Joined:  02/07/13
  • Last Seen:  

Alright, I temporarily removed the second server (it's still new/fairly inactive, so I can wait until the menus are fixed).

 

 

Under 'My Account', it's now listing my characters and storage.

Character images aren't showing up:

/img.php?x=head&s=templar&c=torment&i=150000

 

Item images aren't showing up, either.

/assets/images/item/icon/1478.png

 

Who's Online under 'path=ragnarok.server&action=online' results in 'Unexpected Error'.

Monster DB link under 'path=ragnarok.server.mob' menu now works properly.

Item DB link under 'path=ragnarok.server.item'' menu results in 'Unexpected Error'.

Item Shop (path=ragnarok.server.item&action=shop) results in 'Unexpected Error'.

Ladder (path=ragnarok.server.ladder') works properly. All sub-menu links working properly.

 

Since I consider these to be reasonably minor issues (cosmetic is minor, in my book, the core functionality is there).

I'm going to start using this live. My players are really good about reporting errors that they find, if any come in, I'll post them here for you. ;)

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  23
  • Reputation:   18
  • Joined:  02/27/14
  • Last Seen:  

You need to put your grf file or sprites folder inside /assets/client for the sprites to show up. All item, homunculus and mob icons will be available for download separately, it's the same structure as flux's.

Can you send me your last error messages regarding the item shop and DB errors? I suspect it's the item_db name, if you've checked Renewal in the server settings the table name should be "item_db_re". Table names can be mapped in settings/ragnarok.php, just edit the "tables" array in your server's confs ( <login key> => array( .... <sub-server key> => array() ).

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  27
  • Topics Per Day:  0.01
  • Content Count:  161
  • Reputation:   5
  • Joined:  02/07/13
  • Last Seen:  

Just got off work, will check it in the morning and post back. ;)

 

------------

 

Kk, sorry for the delay. If I missed anything, or you need more info, let me know!

Added the GRF files to the server, but the issue persist. Checked the error logs, lot of re-occurring stuff, but this is what I've got:

 

1.) While not necessarily an 'error', in the sense that it would work for most users,

the permissions on my shared hosting don't allow for use of 'mkdir()'.

 

img.php, on line 65, attempts to create directories for the guild emblems (servername -> server group).

After I created this two folders, the guild emblems started showing up as intended.

 

2.) (Similar error results when trying to navigate to '?path=ragnarok.server.item' and '?path=ragnarok.server.item&action=shop'.)

 

File: /ro/lib/Aqua/SQL/Select.php (line: 508)

URL: /?path=ragnarok.server.item&action=view&arg=7441

Type: PDOException

Code: 42522

- Message ---------------------------------------------------------
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'i.description' in 'field list'
- Trace ------------------------------------------------------------

* Aqua\Site\Dispatcher->dispatch()    /ro/index.php:43

* Aqua\Site\Page->action()     l/ro/lib/Aqua/Site/Dispatcher.php:94
* call_user_func_array()     l/ro/lib/Aqua/Site/Page.php:70
* Page\Main\Ragnarok\Server\Item->view_action()
* Aqua\Ragnarok\Server\CharMap->item()     /ro/application/pages/main/ragnarok/server/item.php:137
* Aqua\SQL\Select->query()     /ro/lib/Aqua/Ragnarok/Server/CharMap.php:893
* PDOStatement->execute()     /ro/lib/Aqua/SQL/Select.php:508

 

3.)

 

Date:            Apr 08, 2014 10:06:01 AM
URL:            /img.php?x=body&s=templar&c=torment&i=150000
IP Address:
--------------------------------------------------------------------
Exception
-------------------------------------------------------------------
File:    /ro/lib/functions/image_trim.php
Line:    41
Type:    Aqua\Core\Exception\PHP
Code:    2
- Message ---------------------------------------------------------
imagecreatetruecolor(): Invalid image dimensions
- Trace ------------------------------------------------------------
* image_trim()     /ro/img.php:162
* imagecreatetruecolor()     /ro/lib/functions/image_trim.php:41
* Aqua\Core\Exception\PHP::errorHandler()

 

4.) I don't know if this is due to a misconfiguration on my end, or if this explains the issues on the server status and other pages,

but it seems that for this query it's trying to utilize the AquaCore user/database information rather than the rAthena user/database information.

I use two separate databases, one for AquaCore and one for my server.

 

(The 't_ro' username is for my AquaCore database. I don't believe this is caused by misconfiguration, simply because other elements, like my character's details, items, zeny, etc, are all being presented correctly, which means it does have some access to the database.)

 

Date:            Apr 08, 2014 09:49:59 AM
URL:            http://ro.templar-gaming.com/?path=ragnarok.server&action=online
IP Address:        173.64.71.64
--------------------------------------------------------------------
Exception
-------------------------------------------------------------------
File:    /ro/lib/Aqua/Ragnarok/Server/CharMap.php
Line:    2269
Type:    PDOException
Code:    42000
- Message ---------------------------------------------------------
SQLSTATE[42000]: Syntax error or access violation: 1142 SELECT
command denied to user 't_ro'@'localhost' for table
'ac_woe_castles'

- Trace ------------------------------------------------------------
* Aqua\Site\Dispatcher->dispatch()     /ro/index.php:43
* Aqua\Site\Page->action()     /ro/lib/Aqua/Site/Dispatcher.php:94
* call_user_func_array()    /ro/lib/Aqua/Site/Page.php:70
* Page\Main\Ragnarok\Server->online_action()
* Aqua\Ragnarok\Server\CharMap->woe()     /ro/application/pages/main/ragnarok/server.php:85
* Aqua\Ragnarok\Server\CharMap->fetchWoeSchedule()     /ro/lib/Aqua/Ragnarok/Server/CharMap.php:1592
* PDO->query()     /ro/lib/Aqua/Ragnarok/Server/CharMap.php:2269

 

5.) When trying to view a character portrait (IE: ?path=ragnarok.server.c.Talaysen),

In my console I get:

(Failed to load resource: the server responded with a status of 403 (Forbidden)  ) at /tpl/scripts/char-stats.js

 

I've tried changing the scripts in this directory to chmod 755, but it doesn't seem to have make a difference.

Edited by Talaysen
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  23
  • Reputation:   18
  • Joined:  02/27/14
  • Last Seen:  

Have you edited the data.ini to load your grf files?

The mkdir error is an issue with the default permissions which I've changed to 775 (public) and 770 (private), if you run into this error you should change the folder's permission and define the values of Aqua\x_y_PERMISSION inside options.php.

The issue with the "description" column is already fixed, you must have added your server before that. All you have to do is add the description column to your item_db_re table, the query can be found in schema/charmap/item_db_re.description.sql.

The last one might be misconfiguration in the .htaccess or permissions, I suggest checking your access log for anything on js files inside the tpl folder.

I'll fix the 3rd and 4th errors as soon as I can. The 4th one is really the CP, thank you for reporting it.

 

Edit: All fixed, including the 403 error.

Edited by Wynn -
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  27
  • Topics Per Day:  0.01
  • Content Count:  161
  • Reputation:   5
  • Joined:  02/07/13
  • Last Seen:  

#2 - Fixed, but:

 

Adding the description column fixed that issue, but I'm getting a new error:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'i.attack:matk' in 'field list'

 

#3: - Modified the data.ini (forgot to remove the ';') - getting new error:

 

Date:            Apr 08, 2014 09:53:18 PM
URL:            /img.php?x=body&s=tgro&c=torment&i=150000
IP Address:        173.64.71.64
--------------------------------------------------------------------
Exception
-------------------------------------------------------------------
File:    /ro/lib/CharGen/Client.php
Line:    110
Type:    Aqua\Core\Exception\PHP
Code:    2
- Message ---------------------------------------------------------
file_put_contents(/home/templar/public_html/ro/assets/client/da-
ta/sprite/Àΰ£Ã·/¸Ó¸®Åë/³²/25_³².spr): failed
to open stream: No such file or directory

- Trace ------------------------------------------------------------
* CharGen\Client::getFile()     /ro/img.php:126
* file_put_contents()     /ro/lib/CharGen/Client.php:110
* Aqua\Core\Exception\PHP::errorHandler()

 

-----

 

Aside from those two things, everything else seems to be good to go. Let me know when it's safe to add the second server back in, I'll happily keep testing for bugs/issues and continue reporting them. Thanks a bunch for all of your help! :)


Alright, updated to your changes on GIT.

 

#2: Now results in:

 

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'i.attack' in 'field list'

 

---

 

I'm not sure why the CharGen is telling me the folders don't exist.. they do.

I vaguely remember having trouble getting this to work when KeyWorld first released those scripts.

As it turns out, I still have it installed on one of my subdomains, I manually uploaded all of the palettes/sprites/etc, instead of the GRFs.

 

Going to transfer those files over and see if that resolves it.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  23
  • Reputation:   18
  • Joined:  02/27/14
  • Last Seen:  

Alright, the second error have been fixed and it's safe to use multiple servers now, everything's working and the menu is doesn't look weird anymore.
In the latest version of rAThena the item_db2_re has an "attack" row but no "mattack" nor atk:matk", I'm not sure if that's right.

Just saw upgrade_12131231.sql.
I'm working on a fix for CharGen. You can use a data folder, it works just fine.

Edited by Wynn -
Link to comment
Share on other sites

×
×
  • Create New...