mirror of
https://github.com/Quackster/Havana.git
synced 2025-07-03 05:07:46 +00:00
merge from develop
commit6a5feee61c
Author: Alex <quacksterr.15@gmail.com> Date: Sun Feb 12 11:28:56 2023 +1000 add clean database commit348bbf76dd
Author: Alex <quacksterr.15@gmail.com> Date: Sun Feb 12 11:23:05 2023 +1000 site.imager.path -> site.imager.endpoint for less confusion commitabe76e9526
Author: Quackster <quacksterr.15@gmail.com> Date: Thu Feb 9 12:27:25 2023 +1000 Update README.md
This commit is contained in:
parent
9d42e6b86c
commit
2979285515
7 changed files with 16 additions and 172 deletions
|
@ -30,14 +30,14 @@ public class ImagerController {
|
|||
|
||||
if (Watchdog.IS_IMAGER_ONLINE) {
|
||||
var reqConfig = RequestConfig.custom()
|
||||
.setConnectTimeout(GameConfiguration.getInstance().getInteger("site.imaging.timeout"))
|
||||
.setConnectTimeout(GameConfiguration.getInstance().getInteger("site.imaging.endpoint.timeout"))
|
||||
.build();
|
||||
|
||||
try (final var httpClient = HttpClientBuilder.create()
|
||||
.setDefaultRequestConfig(reqConfig)
|
||||
.build()) {
|
||||
|
||||
HttpGet request = new HttpGet(GameConfiguration.getInstance().getString("site.imaging.path") + webConnection.request().uri());
|
||||
HttpGet request = new HttpGet(GameConfiguration.getInstance().getString("site.imaging.endpoint") + webConnection.request().uri());
|
||||
request.addHeader(HttpHeaders.USER_AGENT, "Imager");
|
||||
|
||||
try (var r = httpClient.execute(request)) {
|
||||
|
|
|
@ -77,7 +77,7 @@ public class Watchdog implements Runnable {
|
|||
if (this.counter.get() % 30 == 0) {
|
||||
try {
|
||||
|
||||
String imagerPath = GameConfiguration.getInstance().getString("site.imaging.path");
|
||||
String imagerPath = GameConfiguration.getInstance().getString("site.imaging.endpoint");
|
||||
|
||||
if (!imagerPath.isBlank()) {
|
||||
try {
|
||||
|
|
|
@ -33,7 +33,6 @@ public class SiteBinder implements TemplateBinder {
|
|||
private int visits;
|
||||
private String housekeepingPath;
|
||||
private String staticContentPath;
|
||||
private String habboImagingPath;
|
||||
|
||||
private String loaderFlashBase;
|
||||
private String loaderFlashSwf;
|
||||
|
@ -64,8 +63,6 @@ public class SiteBinder implements TemplateBinder {
|
|||
this.emailStaticPath = GameConfiguration.getInstance().getString("email.static.content.path");
|
||||
this.emailHotelName = StringUtils.capitalise(GameConfiguration.getInstance().getString("site.path").replace("https://", "").replace("http://", "").replace("/", ""));
|
||||
|
||||
this.habboImagingPath = GameConfiguration.getInstance().getString("site.imaging.path");//"https://alex-dev.org";
|
||||
|
||||
this.loaderGameIp = GameConfiguration.getInstance().getString("loader.game.ip");
|
||||
this.loaderGamePort = GameConfiguration.getInstance().getString("loader.game.port");
|
||||
|
||||
|
@ -157,10 +154,6 @@ public class SiteBinder implements TemplateBinder {
|
|||
return staticContentPath;
|
||||
}
|
||||
|
||||
public String getHabboImagingPath() {
|
||||
return habboImagingPath;
|
||||
}
|
||||
|
||||
public String getLoaderFlashBase() {
|
||||
return loaderFlashBase;
|
||||
}
|
||||
|
|
|
@ -14,8 +14,8 @@ public class WebSettingsConfigWriter implements ConfigWriter {
|
|||
config.put("site.name", "Habbo");
|
||||
config.put("site.path", "http://localhost");
|
||||
config.put("static.content.path", "http://localhost");
|
||||
config.put("site.imaging.path", "http://localhost:5000");
|
||||
config.put("site.imaging.timeout", "30000");
|
||||
config.put("site.imaging.endpoint", "http://localhost:5000");
|
||||
config.put("site.imaging.endpoint.timeout", "30000");
|
||||
|
||||
config.put("hotel.check.online", "true");
|
||||
|
||||
|
|
|
@ -178,11 +178,10 @@ Download the latest development build from the [releases page](https://github.co
|
|||
|
||||
To be honest, this server doesn't require much. I'd argue that the MariaDB server is more resource demanding than the emulator itself.
|
||||
|
||||
- JDK >= 11
|
||||
- JDK >= 17
|
||||
- MariaDB server
|
||||
- libsodium support (this project uses [this library](https://github.com/terl/lazysodium-java))
|
||||
|
||||
If you aim to use this for yourself, I recommend setting up your own 2009 figure image renderer with the project I've created [here](https://github.com/Quackster/Avatara) to render Habbo looks on the website.
|
||||
I recommend setting up your own 2009 figure image renderer with the project I've created [here](https://github.com/Quackster/Minerva) to render Habbo looks on the website - and then set the endpoint in settings for value ``site.imager.endpoint``.
|
||||
|
||||
# Installation
|
||||
|
||||
|
|
|
@ -290,4 +290,5 @@ ALTER TABLE `items` AUTO_INCREMENT=1;
|
|||
ALTER TABLE `users` AUTO_INCREMENT=1;
|
||||
ALTER TABLE `site_articles` AUTO_INCREMENT=1;
|
||||
TRUNCATE `site_articles_categories`;
|
||||
TRUNCATE `settings`;
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
165
tools/havana.sql
165
tools/havana.sql
|
@ -1,8 +1,8 @@
|
|||
-- --------------------------------------------------------
|
||||
-- Host: 127.0.0.1
|
||||
-- Server version: 10.4.7-MariaDB - mariadb.org binary distribution
|
||||
-- Server version: 10.3.9-MariaDB - mariadb.org binary distribution
|
||||
-- Server OS: Win64
|
||||
-- HeidiSQL Version: 10.2.0.5599
|
||||
-- HeidiSQL Version: 9.4.0.5125
|
||||
-- --------------------------------------------------------
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
|
@ -2508,7 +2508,7 @@ CREATE TABLE IF NOT EXISTS `catalogue_sale_badges` (
|
|||
`badge_code` varchar(250) NOT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- Dumping data for table havana.catalogue_sale_badges: ~1 rows (approximately)
|
||||
-- Dumping data for table havana.catalogue_sale_badges: ~0 rows (approximately)
|
||||
DELETE FROM `catalogue_sale_badges`;
|
||||
/*!40000 ALTER TABLE `catalogue_sale_badges` DISABLE KEYS */;
|
||||
INSERT INTO `catalogue_sale_badges` (`sale_code`, `badge_code`) VALUES
|
||||
|
@ -4254,7 +4254,7 @@ CREATE TABLE IF NOT EXISTS `external_texts` (
|
|||
KEY `entry` (`entry`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
-- Dumping data for table havana.external_texts: ~45,430 rows (approximately)
|
||||
-- Dumping data for table havana.external_texts: ~45,716 rows (approximately)
|
||||
DELETE FROM `external_texts`;
|
||||
/*!40000 ALTER TABLE `external_texts` DISABLE KEYS */;
|
||||
INSERT INTO `external_texts` (`entry`, `text`) VALUES
|
||||
|
@ -50090,7 +50090,7 @@ CREATE TABLE IF NOT EXISTS `items_definitions` (
|
|||
KEY `id` (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1909 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT;
|
||||
|
||||
-- Dumping data for table havana.items_definitions: ~1,908 rows (approximately)
|
||||
-- Dumping data for table havana.items_definitions: ~1,938 rows (approximately)
|
||||
DELETE FROM `items_definitions`;
|
||||
/*!40000 ALTER TABLE `items_definitions` DISABLE KEYS */;
|
||||
INSERT INTO `items_definitions` (`id`, `sprite`, `name`, `description`, `sprite_id`, `length`, `width`, `top_height`, `max_status`, `behaviour`, `interactor`, `is_tradable`, `is_recyclable`, `drink_ids`, `rental_time`, `allowed_rotations`, `heights`) VALUES
|
||||
|
@ -52154,7 +52154,7 @@ CREATE TABLE IF NOT EXISTS `public_items` (
|
|||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=3464 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT;
|
||||
|
||||
-- Dumping data for table havana.public_items: ~3,460 rows (approximately)
|
||||
-- Dumping data for table havana.public_items: ~3,474 rows (approximately)
|
||||
DELETE FROM `public_items`;
|
||||
/*!40000 ALTER TABLE `public_items` DISABLE KEYS */;
|
||||
INSERT INTO `public_items` (`id`, `room_model`, `sprite`, `x`, `y`, `z`, `rotation`, `top_height`, `length`, `width`, `behaviour`, `current_program`, `teleport_to`, `swim_to`) VALUES
|
||||
|
@ -56450,158 +56450,9 @@ CREATE TABLE IF NOT EXISTS `settings` (
|
|||
PRIMARY KEY (`setting`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
-- Dumping data for table havana.settings: ~148 rows (approximately)
|
||||
-- Dumping data for table havana.settings: ~0 rows (approximately)
|
||||
DELETE FROM `settings`;
|
||||
/*!40000 ALTER TABLE `settings` DISABLE KEYS */;
|
||||
INSERT INTO `settings` (`setting`, `value`) VALUES
|
||||
('afk.timer.seconds', '900'),
|
||||
('alerts.gift.message', 'A new gift has arrived. This time you received a %item_name%.'),
|
||||
('april.fools', 'false'),
|
||||
('battleball.create.game.enabled', 'true'),
|
||||
('battleball.game.lifetime.seconds', '180'),
|
||||
('battleball.increase.points', 'true'),
|
||||
('battleball.preparing.game.seconds', '10'),
|
||||
('battleball.restart.game.seconds', '30'),
|
||||
('battleball.start.minimum.active.teams', '2'),
|
||||
('battleball.ticket.charge', '2'),
|
||||
('carry.timer.seconds', '300'),
|
||||
('catalogue.frontpage.input.1', 'topstory_habbo_beta.gif'),
|
||||
('catalogue.frontpage.input.2', 'Server is in beta!'),
|
||||
('catalogue.frontpage.input.3', 'Please bare with us while we sort out the final kinks and hitches'),
|
||||
('catalogue.frontpage.input.4', ''),
|
||||
('chat.spam.count', '10'),
|
||||
('childline.group.id', '0'),
|
||||
('club.gift.interval', '30'),
|
||||
('club.gift.present.label', 'You have just received your monthly club gift!'),
|
||||
('club.gift.timeunit', 'DAYS'),
|
||||
('collectables.page', '51'),
|
||||
('credits.scheduler.amount', '20'),
|
||||
('credits.scheduler.interval', '15'),
|
||||
('credits.scheduler.timeunit', 'MINUTES'),
|
||||
('daily.credits.amount', '120'),
|
||||
('daily.credits.wait.time', '300'),
|
||||
('delete.chatlogs.after.x.age', '2592000'),
|
||||
('delete.iplogs.after.x.age', '2592000'),
|
||||
('delete.tradelogs.after.x.age', '2592000'),
|
||||
('discussions.per.page', '10'),
|
||||
('discussions.replies.per.page', '10'),
|
||||
('email.smtp.enable', 'false'),
|
||||
('email.smtp.from.email', ''),
|
||||
('email.smtp.from.name', ''),
|
||||
('email.smtp.host', ''),
|
||||
('email.smtp.login.password', ''),
|
||||
('email.smtp.login.username', ''),
|
||||
('email.smtp.port', '465'),
|
||||
('email.static.content.path', 'http://localhost'),
|
||||
('enforce.strict.packet.policy', 'true'),
|
||||
('events.category.count', '11'),
|
||||
('events.expiry.minutes', '120'),
|
||||
('free.month.hc.registration', 'true'),
|
||||
('fuck.aaron', 'true'),
|
||||
('group.default.badge', 'b0503Xs09114s05013s05015'),
|
||||
('group.purchase.cost', '20'),
|
||||
('groups.ids.permission.addcredits', ''),
|
||||
('groups.ids.permission.ban', ''),
|
||||
('groups.ids.permission.bot', ''),
|
||||
('groups.ids.permission.checkbalance', ''),
|
||||
('groups.ids.permission.coords', ''),
|
||||
('groups.ids.permission.copyroom', ''),
|
||||
('groups.ids.permission.dc', ''),
|
||||
('groups.ids.permission.deletebadge', ''),
|
||||
('groups.ids.permission.giftroom', ''),
|
||||
('groups.ids.permission.givebadge', ''),
|
||||
('groups.ids.permission.headrotate', ''),
|
||||
('groups.ids.permission.hotelalert', ''),
|
||||
('groups.ids.permission.itemdebug', ''),
|
||||
('groups.ids.permission.mute', ''),
|
||||
('groups.ids.permission.packet', ''),
|
||||
('groups.ids.permission.reload', ''),
|
||||
('groups.ids.permission.removecredits', ''),
|
||||
('groups.ids.permission.resetpw', ''),
|
||||
('groups.ids.permission.roomalert', ''),
|
||||
('groups.ids.permission.roommute', ''),
|
||||
('groups.ids.permission.setconfig', ''),
|
||||
('groups.ids.permission.shutdown', ''),
|
||||
('groups.ids.permission.talk', ''),
|
||||
('groups.ids.permission.teleport', ''),
|
||||
('groups.ids.permission.tradeban', ''),
|
||||
('groups.ids.permission.unacceptable', ''),
|
||||
('groups.ids.permission.unban', ''),
|
||||
('groups.ids.permission.unmute', ''),
|
||||
('guide.completion.minutes', '4320'),
|
||||
('guide.search.timeout.minutes', '5'),
|
||||
('guides.group.id', '1'),
|
||||
('habbo.experts.group.id', '0'),
|
||||
('happy.hour.weekday.end', '18:00:00'),
|
||||
('happy.hour.weekday.start', '17:00:00'),
|
||||
('happy.hour.weekend.end', '13:00:00'),
|
||||
('happy.hour.weekend.start', '12:00:00'),
|
||||
('homepage.template.file', 'index'),
|
||||
('hot.groups.community.limit', '8'),
|
||||
('hot.groups.limit', '10'),
|
||||
('hotel.check.online', 'true'),
|
||||
('loader.dcr', 'http://localhost/dcr/v31/habbo.dcr?'),
|
||||
('loader.external.texts', 'http://localhost/dcr/v31/gamedata/external_texts.txt?'),
|
||||
('loader.external.variables', 'http://localhost/dcr/v31/gamedata/external_variables.txt?'),
|
||||
('loader.game.ip', '127.0.0.1'),
|
||||
('loader.game.port', '12321'),
|
||||
('loader.mus.ip', '127.0.0.1'),
|
||||
('loader.mus.port', '12322'),
|
||||
('maintenance', 'false'),
|
||||
('max.connections.per.ip', '2'),
|
||||
('max.tags.groups', '20'),
|
||||
('max.tags.users', '8'),
|
||||
('messenger.enable.official.update.speed', 'false'),
|
||||
('messenger.max.friends.club', '600'),
|
||||
('messenger.max.friends.nonclub', '100'),
|
||||
('navigator.hide.empty.public.categories', 'true'),
|
||||
('navigator.show.hidden.rooms', 'false'),
|
||||
('normalise.input.strings', 'false'),
|
||||
('pixels.max.tries.single.room.instance', '2147483647'),
|
||||
('pixels.received.interval', '10'),
|
||||
('pixels.received.timeunit', 'MINUTES'),
|
||||
('players.all.time.peak', '0'),
|
||||
('players.daily.peak', '0'),
|
||||
('players.daily.peak.date', '04-09-2022'),
|
||||
('players.online', '0'),
|
||||
('profile.editing', 'false'),
|
||||
('regenerate.map.enabled', 'true'),
|
||||
('regenerate.map.interval', '1'),
|
||||
('registration.disabled', 'false'),
|
||||
('reset.sso.after.login', 'true'),
|
||||
('reward.credits.loser.range', '0-4'),
|
||||
('reward.credits.winner.range', '10-20'),
|
||||
('roller.tick.default', '2000'),
|
||||
('room.ads', 'true'),
|
||||
('room.dispose.timer.enabled', 'true'),
|
||||
('room.dispose.timer.seconds', '30'),
|
||||
('room.intersitial.ads', 'true'),
|
||||
('seasonal.items', 'false'),
|
||||
('shutdown.minutes', '1'),
|
||||
('site.imaging.path', 'http://localhost'),
|
||||
('site.name', 'Habbo'),
|
||||
('site.path', 'http://localhost'),
|
||||
('sleep.timer.seconds', '300'),
|
||||
('snowstorm.create.game.enabled', 'true'),
|
||||
('snowstorm.game.lifetime.seconds', '0'),
|
||||
('snowstorm.increase.points', 'true'),
|
||||
('snowstorm.preparing.game.seconds', '10'),
|
||||
('snowstorm.restart.game.seconds', '30'),
|
||||
('snowstorm.start.minimum.active.teams', '2'),
|
||||
('snowstorm.ticket.charge', '2'),
|
||||
('stack.height.limit', '8'),
|
||||
('static.content.path', 'http://localhost'),
|
||||
('talk.bubble.timeout.seconds', '15'),
|
||||
('talk.garbled.text', 'true'),
|
||||
('trade.email.verification', 'false'),
|
||||
('tutorial.enabled', 'false'),
|
||||
('vouchers.enabled', 'true'),
|
||||
('walk.spam.count', '10'),
|
||||
('welcome.message.content', 'Hello, %username%! And welcome to the Havana server!'),
|
||||
('welcome.message.enabled', 'false'),
|
||||
('wordfilter.word.replacement', 'bobba'),
|
||||
('wordfitler.enabled', 'true'),
|
||||
('xp.monthly.expiry', '04-09');
|
||||
/*!40000 ALTER TABLE `settings` ENABLE KEYS */;
|
||||
|
||||
-- Dumping structure for table havana.settings_effects
|
||||
|
@ -57220,7 +57071,7 @@ INSERT INTO `wordfilter` (`id`, `word`, `is_bannable`, `is_filterable`) VALUES
|
|||
-- Dumping structure for view havana.vw_users_hc_duplicates
|
||||
-- Removing temporary table and create final VIEW structure
|
||||
DROP TABLE IF EXISTS `vw_users_hc_duplicates`;
|
||||
CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `vw_users_hc_duplicates` AS select count(0) AS `gift_count`,`users_club_gifts`.`user_id` AS `user_id`,`users_club_gifts`.`sprite` AS `sprite`,`users_club_gifts`.`date_received` AS `date_received` from `users_club_gifts` group by `users_club_gifts`.`user_id`,`users_club_gifts`.`date_received`,`users_club_gifts`.`sprite` having count(0) > 1 order by count(0) desc ;
|
||||
CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` VIEW `vw_users_hc_duplicates` AS select count(0) AS `gift_count`,`users_club_gifts`.`user_id` AS `user_id`,`users_club_gifts`.`sprite` AS `sprite`,`users_club_gifts`.`date_received` AS `date_received` from `users_club_gifts` group by `users_club_gifts`.`user_id`,`users_club_gifts`.`date_received`,`users_club_gifts`.`sprite` having count(0) > 1 order by count(0) desc ;
|
||||
|
||||
/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
|
||||
/*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */;
|
||||
|
|
Loading…
Add table
Reference in a new issue