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!

HabboAPI | NodeJS | AngularJS | Arcturus | Translation System

Junior Spellweaver
Joined
Jan 28, 2013
Messages
157
Reaction score
104
billsonnn - HabboAPI | NodeJS | AngularJS | Arcturus | Translation System - RaGEZONE Forums


a content management system written in NodeJS & AngularJS for Arcuturs Emulator

DEMO AVAILABLE:
GITHUB:

** FOR THE LATEST UPDATES PLEASE SEE MY LATEST POST **

## About
HabboAPI is an open source content management system for Arcturus Emulator. This system is built upon NodeJS & AngularJS. The API uses Knex & BookshelfJS for database management, ExpressJS for routing, PassportJS for authentication & session management, Babel for ES6 functionality, and finally Gulp for compiling our frontend code.

## Features
* Login
* Register (reCAPTCHA support)
* Account Settings (client, email, & password)
* Community (latest user & room, random users, rooms & groups)
* News (list with page scrubbing, search, & news comments)
* Leaderboards (most credits, online time, & respects)
* Staff
* Profiles (badges, friends, rooms, groups, general info, profile comments)
* Room page (room owner, general info, room comments, link to open room in client automatically)
* Group page (group owner, group room, general info)
* Client (full support for FlashInterface)

### Backend Features
* HTTPS support
* Limit accounts per ip
* Prevent usernames from containing certain prefixes (ADM-, MOD- etc)
* Maintenance system (allow certain ips access during maintenance)
* Ban system (ip & account)
* Arcturus rCRON
* Ability to hide certain users / ranks from leaderboards, staff list etc

## Requirements
* Nodejs v8.x.x (tested with v8.9.4)
* NPM
* MySQL Server

## Installation
* the latest zip
* Create a new folder and extract the zip to it
* Open `config.json` and modify the keys to your desired settings
* Import `habboapi.sql` to your MySQL database

### Windows
* Open command prompt in Administrator mode, run `npm install -g babel-cli@6.26.0 gulp@3.9.1`
* After that run `npm install`
* You may recieve warnings for any of the above installations, this is normal, unless there's an error you can ignore it
* Now run `start.bat`
* If you have configured everything correctly you should see HabboAPI running. You'll want to keep this window open, closing it will stop HabboAPI.
* Finally, run `build-complete.bat` This could take awhile...
* HabboAPI should now be ready

## Additional Setup

### reCAPTCHA
To enable reCAPTCHA support you must register your website with

* After logging in look for "Register a new site"
* You'll want to select "reCAPTCHA V2"
* For domains you'll want to type just your website link, look at the examples.
* After registering your domain you'll want to find the public and private keys under "Keys" and put these into your `config.json`
* You may also elect to disable reCAPTCHA, you'll find that in `config.json` as well.

## FAQS
* What emulator does HabboAPI support?
* HabboAPI is made for the Arcturus Emulator database. Although with some modifications to the database models this system could be used with other databases.

* What type of password encryption does HabboAPI use?
* HabboAPI uses bcrypt with salts to hash passwords. Therefore MD5, SHA1 and others are not supported out of the box. If necessary you could install the required packages to enable support for these other encryption methods.

* How do I make modifications to frontend code?
* All code for the frontend can be found in the `src` folder. It is not recommended to make changes to any of the modules contained here. Instead, create a new module and require it into the main app module in `app.js`. All templates are located in `src/views`
* If you make changes to the `src` folder you must rebuild the project for your changes to take effect. To do this just open command prompt / terminal and navigate to the folder where habboapi is located and run `gulp build-app`. also be sure to restart habboapi.
 
Last edited:
Skilled Illusionist
Joined
Dec 24, 2015
Messages
336
Reaction score
31
Re: HabboAPI CMS v0.0.5 | NodeJS | AngularJS | Arcturus

I like that you're using something else then PHP, but I'm not a fan of the simple design it just gets too simple for my taste.

However, good job.
 
Newbie Spellweaver
Joined
Sep 3, 2013
Messages
49
Reaction score
13
Re: HabboAPI CMS v0.0.5 | NodeJS | AngularJS | Arcturus

Nice to see some Node and Angular. You should try and switch Express out with Meteor.

 
C# / Java Programmer
Joined
Jan 1, 2007
Messages
346
Reaction score
177
Re: HabboAPI CMS v0.0.5 | NodeJS | AngularJS | Arcturus

Great work! I wasn't expecting to see a release so soon, honestly.

Also redk0ke, Meteor is an awesome framework, but that'd be a pretty significant overhaul. I'm sure it's working fine as-is with Express. Besides, Angular doesn't really take advantage of having a streaming API, so the only benefits you'd see is some code cleanup. Probably not worth it for the end result.


 
Joined
Sep 10, 2011
Messages
778
Reaction score
138
Re: HabboAPI CMS v0.0.5 | NodeJS | AngularJS | Arcturus

Switching Express out with Meteor would be a horrible idea. You're new to Node and what it all has redk0ke (Sentinel) but Meteor is way too big of a framework, with not enough benefits to kill your code for.

I considered Meteor way back when I first started because it was easy and seemed abundant only to realize a day or so into development how bad it was for my projects.

Great job Bill, glad to see how quickly you got your code updated
 
Junior Spellweaver
Joined
Jan 28, 2013
Messages
157
Reaction score
104
Re: HabboAPI CMS v0.0.5 | NodeJS | AngularJS | Arcturus

Hey guys, sorry for the lack of updates recently.

Just pushed v0.0.7. Changed the font from Roboto Sans to Ubuntu Condensed. Also made the navigation bar a bit bigger and added a new client button. Looks more like the real habbo now. Also made the client full screen. You can download the latest release here: and visit GitHub to see the full changes!
 
Last edited:
Joined
Oct 11, 2012
Messages
544
Reaction score
143
Re: HabboAPI CMS v0.0.5 | NodeJS | AngularJS | Arcturus

Hey guys, sorry for the lack of updates recently.
Just pushed v0.0.7. Changed the font from Roboto Sans to Ubuntu Condensed. Also made the navigation bar a bit bigger and added a new client button. Looks more like the real habbo now. Also made the client full screen. You can download the latest release here: and visit GitHub to see the full changes!

I've tested this and it works perfectly, you have done a quick and a wonderful job with this and you should definitely finish it all off (features) and include a housekeeping and multi emulator support. i.e: PlusEMU, etc. Rather then one Emulator compatibility.

Image of it working:
billsonnn - HabboAPI | NodeJS | AngularJS | Arcturus | Translation System - RaGEZONE Forums
 
Last edited:
Junior Spellweaver
Joined
Jan 28, 2013
Messages
157
Reaction score
104
Re: HabboAPI CMS v0.0.5 | NodeJS | AngularJS | Arcturus

I've tested this and works perfectly, you should differently finish all of this and include a housekeeping and multi emu support
i.e: PlusEMU, etc. Rather then one Emulator compatibility
Image:
billsonnn - HabboAPI | NodeJS | AngularJS | Arcturus | Translation System - RaGEZONE Forums

Thanks so much for giving it a try! I have some awesome updates coming. I will include the changelog below.

Multi emu support is already available, as long as you have common knowledge of javascript and can update the db models to their respective tables. Of course you would also have to update the pages to the correct columns names, but most emus have the same kind of naming structure. Maybe I can make this easier in the future....

v0.0.8 changelog
Added a translation system, default is english
Community page now includes top rooms & room promotions
Fixed a bug where if you were in the client and got disconnected, the disconnect alert would not properly reload the client
Layout cleanup for login & register
New menu bar
Font changed from Roboto to Ubuntu Condensed
The cards on the profile page now have images

Update will be pushed in a couple hours.
 
Newbie Spellweaver
Joined
Mar 17, 2017
Messages
8
Reaction score
3
Re: HabboAPI CMS v0.0.7 | NodeJS | AngularJS | Arcturus

Wow dude, I love this CMS! Great job on this one :w00t:
 
Junior Spellweaver
Joined
Jan 28, 2013
Messages
157
Reaction score
104
Re: HabboAPI CMS v0.0.7 | NodeJS | AngularJS | Arcturus

Wow dude, I love this CMS! Great job on this one :w00t:

Thank you! I've been working very hard on it for quite awhile.

Version 0.0.8 has been released. Major change being a translation system. Please let me know if I have missed something.

 
Last edited:
Newbie Spellweaver
Joined
Mar 17, 2017
Messages
8
Reaction score
3
Re: HabboAPI CMS v0.0.7 | NodeJS | AngularJS | Arcturus

Thank you! I've been working very hard on it for quite awhile.

Version 0.0.8 has been released. Major change being a translation system. Please let me know if I have missed something.

Would love to try it out, but we're running a special edition PlusEMU..
 
Newbie Spellweaver
Joined
Jul 13, 2015
Messages
71
Reaction score
31
Re: HabboAPI CMS v0.0.8 | NodeJS | AngularJS | Arcturus | Translation System

I didn't like the simple design, but good work man. Only one tip: Use Yarn instead NPM. Yarn is safer and faster than the npm. It uses checksums to verify the integrity of the packages, is so fuckin fast and have a concise lockfile format.

Goodluck!
 
C# / Java Programmer
Joined
Jan 1, 2007
Messages
346
Reaction score
177
Re: HabboAPI CMS v0.0.8 | NodeJS | AngularJS | Arcturus | Translation System

I didn't like the simple design, but good work man. Only one tip: Use Yarn instead NPM. Yarn is safer and faster than the npm. It uses checksums to verify the integrity of the packages, is so fuckin fast and have a concise lockfile format.

Goodluck!

Huh, my first time looking at Yarn but yeah I agree, it looks like a great alternative to NPM. It adds an install step though, for users who don't have it already. Globally installing packages is dead nuts easy, but still.
 
Junior Spellweaver
Joined
Jan 28, 2013
Messages
157
Reaction score
104
Re: HabboAPI CMS v0.0.8 | NodeJS | AngularJS | Arcturus | Translation System

Huh, my first time looking at Yarn but yeah I agree, it looks like a great alternative to NPM. It adds an install step though, for users who don't have it already. Globally installing packages is dead nuts easy, but still.

Haven't looked into yarn before but as you said, def an extra step as it's more common for people to have npm.

v0.0.9 changelog which will hopefully be coming today or tomorrow (haven't started any of this yet lol),
User cards on profiles now display a users credits, pixels, diamonds, register date, online status & relationships.
Achievement system (maybe)
Room page now includes a button to directly enter the room (if you are online)

More to come....
 
Junior Spellweaver
Joined
Jan 28, 2013
Messages
157
Reaction score
104
Re: HabboAPI CMS v0.0.8 | NodeJS | AngularJS | Arcturus | Translation System

Just updated imgur with the latest pics of the updates to the layout:

Also have started work on a forum system, there's a picture on imgur.

UPDATE ON FORUMS I've gotten quite a bit done already and heres an example of the json sent when viewing a forum, you get the forum info, forum children, forum childrens children, threads, thread owner, thread latest post, thread latest post owner

Code:
{"errors":false,"error":null,"forum_info":{"id":1,"parent_id":0,"category_id":1,"forum_name":"Announcements","forum_description":"Testing forum description","category":{"id":1,"category_name":"HabboAPI"},"parent":{},"children":[{"id":3,"parent_id":1,"category_id":null,"forum_name":"Test","forum_description":"Testing","children":[{"id":6,"parent_id":3,"category_id":0,"forum_name":"Test - Test 1"}]},{"id":4,"parent_id":1,"category_id":null,"forum_name":"Test 2","forum_description":"testing 2","children":[]}],"threads":[{"id":1,"forum_id":1,"thread_title":"Test","user_id":1,"created_at":null,"updated_at":null,"owner":{"id":1,"username":"Bill","look":"hr-115-42.hd-190-1.ch-215-62.lg-285-91.sh-290-62"},"latest_post":[{"id":1,"thread_id":1,"user_id":1,"owner":{"id":1,"username":"Bill","look":"hr-115-42.hd-190-1.ch-215-62.lg-285-91.sh-290-62"}}]}]}}

Sorry, it's a bit messy to follow and cba to indent everything lol
 
Last edited:
Newbie Spellweaver
Joined
Jan 10, 2016
Messages
70
Reaction score
19
Re: HabboAPI CMS v0.0.8 | NodeJS | AngularJS | Arcturus | Translation System

There are any RCON system?
 
Junior Spellweaver
Joined
Jan 28, 2013
Messages
157
Reaction score
104
Re: HabboAPI CMS v0.0.8 | NodeJS | AngularJS | Arcturus | Translation System

There are any RCON system?

There is support for all rCRON commands, just have to code them into actual features. Currently only thing planned is a enter room button which will make you enter the room in the client. Just have to dig through the Arcturus code to see what commands are actually supported and what I can do with them. Let me know if you have any ideas! I do have an idea for a cool messaging system, just waiting to see if The General can do it!
 
C# / Java Programmer
Joined
Jan 1, 2007
Messages
346
Reaction score
177
Re: HabboAPI CMS v0.0.8 | NodeJS | AngularJS | Arcturus | Translation System

There is support for all rCRON commands, just have to code them into actual features. Currently only thing planned is a enter room button which will make you enter the room in the client. Just have to dig through the Arcturus code to see what commands are actually supported and what I can do with them. Let me know if you have any ideas! I do have an idea for a cool messaging system, just waiting to see if The General can do it!

I'm not sure if that functionality is in the RCON handlers yet, I don't think it is, but it wouldn't be hard to implement. If you can come up with a list of features you'd like to implement I can make them into a plugin specifically for the CMS.
 
Back
Top