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!

Roseau - Fully featured V1 server [Java]

Developer
Developer
Joined
Dec 11, 2010
Messages
2,955
Reaction score
2,689
Roseau
Habbo Hotel v1 server, 2001 client revision

Roseau has been a small project I worked on for a few months now and I've finally come to the point where this is pretty damn complete, far surpassing the original v1 servers that have already been released.

If you're wondering where the development thread of this went, I got sick and tired of constantly creating development threads and never finishing the project so I decided to delete it, and complete it and then release it as a surprise to the community.

This server is written in Java, and uses libraries such as Netty (old version, like 3.x.x) and other libraries that allow MySQL connection pooling, which is BoneCP.

Key features

- Diving works with ticket purchase and voting
- Teleporters work (in same room and different rooms)
- Ranked display works (rank 1 to 5)
- More public rooms working than any other v1 server released (which either had none or one working).
- Wall items working (no other v1 server had this!)
- Instant console messaging (no other v1 server had this either).

Features

  • Register
    • Check for existing names
    • Check for bad names
    • Create new user
  • User
    • Login
    • Edit user details (figure, email, etc)
  • Navigator
    • Lists all public rooms
    • Clicking on a public room shows the users in each room
    • Shows all recently created private rooms with users in a room at the top, the list is scrollable too
    • Search rooms
    • List own rooms
    • Hides room owner names if the option had been ticked
  • Messenger
    • Search users on console
    • Send user a friend request
    • Accept friend request
    • Reject friend request
    • Send friend message (and can offline message)
  • Private room
    • Create private room through public room room-o-matics
    • Edit room details
    • Lock user room
    • Ring doorbell of locked room
    • Password protect room
    • Delete room
  • Public Room
    • 12 public rooms added
      • Main Lobby
      • Median Lobby
      • Skylight Lobby
      • Basement Lobby
      • Club Slinky Helsinki (with walkway to second club room)
      • Habbo Lido
      • Habbo Lido II
      • Club Massiva (with walkway to downstairs disco floor)
      • Theatredome
      • Habburger's
      • The Dirty Duck Pub
      • Cunning Fox Gamehall (with walkways to all game rooms)
      • Cafe Ole
      • Hotel Kitchen
    • All public rooms are fully furnished to what official Habbo had
    • Walkways between rooms work (Habbo Lido to the diving deck, Club Massiva downstairs disco floor, etc)
    • Room-o-Matic works
    • Sitting on furniture in public rooms
    • Bots in public rooms (Habburger's, Cafe Ole, The Dirty Duck Pub)
    • Disco lights in Club Massiva working]
  • Lido and Diving Deck
    • Change clothes working (with curtain closing)
    • Pool lift door closes and opens depending if a user is inside or not.
    • Buying tickets work for self and other players.
    • Diving.
    • Swimming.
    • Queue works (line up on first tile and the user automatically walks when there is a free spot).
  • Item
    • Place room items
    • Move and rotate room items
    • Pickup room item
    • Place wall items
    • Pickup wall items
    • Place stickies
    • Update stickies
    • Stack items
    • Teleporters work
    • Fridges work (grabbing a drink from a fridge)
    • Turning items on/off (with rights)
    • Randomisation of the rotation of the bottle when it's spun
  • Catalogue
    • All items are purchasable
    • Purchase posters
    • Place floor and wall items to decorate wall and floors of private rooms
  • Ranked features
    • Call for help
    • Alert call for help to Hobba staff (picked up call for help not coded).
  • Commands
    • :about
    • :sit

Ranks

(These badges will appear on your user inside rooms).

  • Rank 1: Normal rank
  • Rank 2: Bronze Hobba
  • Rank 3: Silver Hobba
  • Rank 4: Gold Hobba
  • Rank 5: Staff administrator (Habbo staff badge)

Permissions

- Minimum rank 5:
  • room_all_rights
- Minimum rank 2:
  • room_kick_any_user
  • answer_call_for_help

Screenshots

(All taken from my test hotel: )

oharUL1 - Roseau - Fully featured V1 server [Java] - RaGEZONE Forums


5W1LEU1 - Roseau - Fully featured V1 server [Java] - RaGEZONE Forums


NiVxNRx - Roseau - Fully featured V1 server [Java] - RaGEZONE Forums


Rc3TH4P - Roseau - Fully featured V1 server [Java] - RaGEZONE Forums


OdXIaG - Roseau - Fully featured V1 server [Java] - RaGEZONE Forums


BOGiFeC - Roseau - Fully featured V1 server [Java] - RaGEZONE Forums


Source repository

All the source can be found here:

Download:

The repository includes the client files, the loader and the MySQL database for the server.

Compiled version can be found in /Roseau-bin/ and the client can be found in /client/ folder with a loader (should be called index.html).

Shockwave Tips

I personally use Pale Moon portable 32 bit version (it has to be 32 bit otherwise it won't work). Shockwave works flawless in this browser. The download is only 31 MB.

Pale Moon 32bit:

Alternatively you can use an older version of Mozilla Firefox as 52 has most NAPI functions disabled but 36-38 will work, or Internet Explorer (not recommended to use IE due to the fact it freezes all the time).

Code Snippets

PoolLiftInteractor
Code:
package org.alexdev.roseau.game.item.interactors.pool;

import org.alexdev.roseau.game.item.Item;
import org.alexdev.roseau.game.item.interactors.Interaction;
import org.alexdev.roseau.game.player.Player;
import org.alexdev.roseau.messages.outgoing.JUMPINGPLACE_OK;

public class PoolLiftInteractor extends Interaction {

	public PoolLiftInteractor(Item item) {
		super(item);
	}

	@Override
	public void onTrigger(Player player) {	}

	@Override
	public void onStoppedWalking(Player player) {
		
		this.close();

		player.send(new JUMPINGPLACE_OK());
		player.getRoomUser().setCanWalk(false);

		player.getDetails().setTickets(player.getDetails().getTickets() - 1);
		player.getDetails().sendTickets();
		player.getDetails().save();
	}
	
	public void open() {
		this.item.showProgram("open");
		this.item.unlockTiles();
	}
	
	public void close() {
		this.item.showProgram("close");
		this.item.lockTiles();	
	}

}

Thanks to

With Ascii from Puomi Hotel, these things were possible:

  • wall items loading
  • the correct ITEMS structure
  • figuring out the correct structure for ACTIVE OBJECTS
  • SHOWPROGRAM for the Club Massiva disco lights
  • correct structure for teleporters flashing
  • teaching me how to edit the DCR to enable Club Slinky Helsinki to work

And lab-hotel from RaGEZONE helped me out with:

  • Instant console messaging.
  • Enabling the debug window for the version 1 client.

And lastly, office.boy and Nillus who made my life easier with their Blunk v5 server, it helped me
with some protocol that was simillar to v1, and their item definition database which was very helpful for
the v1 catalogue.

Thanks guys, this is the most completed v1 server to date (if you ignore gamehall rooms)!

- Alex
 

Attachments

You must be registered for see attachments list
Last edited:
Developer
Developer
Joined
Dec 11, 2010
Messages
2,955
Reaction score
2,689
Good work! I tried the demo hotel and it was a pleasure! :)

Thanks Bjork, a lot has changed since you went on so I recommend you should try it out again. More features and bug fixes, but I won't hold it against you if you won't. :p
 
Skilled Illusionist
Joined
Dec 24, 2015
Messages
336
Reaction score
31
Wow, this brings back so many memories. Great release!
 
Newbie Spellweaver
Joined
Aug 13, 2007
Messages
21
Reaction score
0
I tried it on your site, it's amazing. Thanks!

Tip: In order to use Adobe Shockwave Player in updated Mozilla Firefox it is necessary to use the ESR x86 (Extended Support Release) version of the browser, which can be .
 
Developer
Developer
Joined
Dec 11, 2010
Messages
2,955
Reaction score
2,689
I tried it on your site, it's amazing. Thanks!

Tip: In order to use Adobe Shockwave Player in updated Mozilla Firefox it is necessary to use the ESR x86 (Extended Support Release) version of the browser, which can be .

Not advised because support for NAPI plugins using the Extended Support Release will end in May 2018. That's why I suggest people either use an older version of Firefox (36-38) or they download Pale Moon portable 32-bit where both have Shockwave working flawlessly.
 
Joined
Sep 10, 2011
Messages
778
Reaction score
138
It's so weird seeing a v1 server today, but the throwback is pretty amazing man. Good job on this and glad to see you stick it through until the end
 
Retired
Loyal Member
Joined
May 5, 2007
Messages
497
Reaction score
665
I'm just missing a few tech specs like what you use for db, sockets, etc. Looks really awesome, but Im pretty disappointed you're not using any dependency system such as Gradle or Maven to avoid having to bit JARs inside your git repo (the repo is ~35MiB now and can easily go down to prob less than 1MB). If you need any help just hit me up on Discord and I'll help you out with this.
 
Developer
Developer
Joined
Aug 10, 2011
Messages
7,405
Reaction score
3,315
Code:
		} finally {
			Storage.closeSilently(resultSet);
			Storage.closeSilently(preparedStatement);
			Storage.closeSilently(sqlConnection);
		}

Use try-with resources.
 
Junior Spellweaver
Joined
Jun 16, 2016
Messages
119
Reaction score
41
OMG :O
Nice release but can you update it whatever to MySQL v10 version?
Then can i made any catalog! :D
 
Back
Top