RuneHive-Game
Loading...
Searching...
No Matches
Config.java
Go to the documentation of this file.
1package com.runehive;
2
3import com.moandjiezana.toml.Toml;
4import com.runehive.game.world.WorldType;
5import com.runehive.game.world.entity.mob.player.appearance.Appearance;
6import com.runehive.game.world.entity.mob.player.appearance.Gender;
7import com.runehive.game.world.items.Item;
8import com.runehive.game.world.position.Position;
9import com.runehive.net.session.Session;
10import io.netty.util.AttributeKey;
11import io.netty.util.ResourceLeakDetector;
12import it.unimi.dsi.fastutil.objects.ObjectOpenHashSet;
13import it.unimi.dsi.fastutil.objects.ObjectSet;
14
15import java.io.File;
16import java.math.BigInteger;
17import java.util.Arrays;
18
19/**
20 * The class that contains setting-related constants for the server.
21 *
22 * @author Daniel
23 */
24public final class Config {
25
26 /** The latest announcement thread link. */
27 public static final String LATEST_ANNOUNCEMENT_THREAD = "";
28
29 /** The latest update thread link. */
30 public static final String LATEST_UPDATE_THREAD = "";
31
32 /** The welcome marquee. */
33 public static final String[] WELCOME_MARQUEE = {
34 "There are currently #players players online!",
35 };
36
37 /** The welcome dialogue. */
38 public static final String[] WELCOME_DIALOGUE = {
39 "",
40 "",
41 ""
42 };
43
44 /** The welcome announcement. */
45 public static final String[] WELCOME_ANNOUNCEMENT = {
46 "",
47 "",
48 "",
49 "",
50 ""
51 };
52
53 public static final String[] WELCOME_UPDATE = {
54 "Game Updates",
55 "- GPT4o Wise Old Man in Arceuus. Interact with him!",
56 "- Tile Destination Hint Arrows."
57 };
58
59 /** The amount of client (incoming) packets that can be handled by the server each tick. */
60 public static final int CLIENT_PACKET_THRESHOLD;
61 /**
62 * The amount of server (outgoing) packets that can be written by the server each tick.
63 */
64 public static final int SERVER_PACKET_THRESHOLD;
65
66 /** Displays packet information in the output stream. */
67 public static boolean DISPLAY_PACKETS = Config.SERVER_DEBUG;
68
69 /**
70 * The maximum amount of connections that can be active at a time, or in
71 * other words how many clients can be logged in at once per connection.
72 */
73 public static final int CONNECTION_LIMIT;
74
75 /** The number of seconds before a connection becomes idle. */
76 public static final int IDLE_TIMEOUT;
77
78 /**
79 * The resource leak detection level, should be {@code PARANOID} in a
80 * development environment and {@code DISABLED} in a production environment.
81 */
82 public static final ResourceLeakDetector.Level RESOURCE_LEAK_DETECTION;
83
84 /** The list of exceptions that are ignored and discarded by the */
85 public static final ObjectSet<String> IGNORED_EXCEPTIONS = new ObjectOpenHashSet<>(
86 Arrays.asList("An existing connection was forcibly closed by the remote host",
87 "An established connection was aborted by the software in your host machine"));
88
89 /** The session key. */
90 public static final AttributeKey<Session> SESSION_KEY = AttributeKey.valueOf("session.key");
91
92 public static final AttributeKey<String> SOURCE_ADDRESS = AttributeKey.valueOf("source.address");
93
94 /** The RSA modulus. */
95 public static final BigInteger RSA_MODULUS;
96
97 /** The RSA exponent. */
98 public static final BigInteger RSA_EXPONENT;
99
100 public static final boolean SUPPORT_HAPROXY;
101 public static final int IP_TOS;
102
104
105 public static final boolean LOG_PLAYER;
106
107 /** This will use the parallel game game. */
108 public static final boolean PARALLEL_GAME_ENGINE;
109
110 /** The name of the server. */
111 public static final String SERVER_NAME;
112
113 /**
114 * If forum integration is true, users can only login if they enter the same username and password that's on the forums
115 * also mongo must be running when this is true. Since all the players will be stored in the mongo database.
116 **/
117 public static final boolean FORUM_INTEGRATION;
118
119 /** This is used for mySQL to authenticate username and passwords from the forum. */
120 public static final String FORUM_DB_URL;
121
122 /** This is used for mySQL to authenticate username and passwords from the forum. */
123 public static final String FORUM_DB_USER;
124
125 /** This is used for mySQL to authenticate username and passwords from the forum. */
126 public static final String FORUM_DB_PASS;
127
128 public static final String POSTGRE_URL;
129 public static final String POSTGRE_USER;
130 public static final String POSTGRE_PASS;
131
132 public static final int FAILED_LOGIN_ATTEMPTS;
133 public static final int FAILED_LOGIN_TIMEOUT;
134
135 public static final int CLIENT_VERSION;
136
137 public static boolean highscoresEnabled = false;
138
139 public static boolean DOUBLE_EXPERIENCE = false;
140
141 /** The OS Royale community discord token. */
142 public static final String DISCORD_TOKEN;
143
144 /** The development state flag. (Always make sure you run the official server with this disabled!) */
145 public static boolean SERVER_DEBUG;
146
147 /** Flag to disable all broadcast messages (TriviaBot, killstreaks, pets, etc.) */
148 public static boolean DISABLE_BROADCASTS = true;
149
150 /** Displays the time in milliseconds each tick the game takes to run through a game cycle. */
151 public static final boolean SERVER_CYCLE_DEBUG;
152
153 /** The server port. */
154 public static final int SERVER_PORT;
155
156 /** The walking radius for Npc. */
157 public static final int NPC_WALKING_RADIUS;
158
159 /** The amount of players that can be logged in, in a single cycle **/
160 public static final int LOGIN_THESHOLD;
161
162 /** The amount of players that can logout in a single cycle **/
163 public static final int LOGOUT_THESHOLD;
164
165 /** The maximum amount of players that can be held within the game world. */
166 public static final int MAX_PLAYERS;
167
168 /** The maximum amount of npcs that can be held within the game world. */
169 public static final int MAX_NPCS;
170
171 /** The amount of bots that will spawn into the game world. */
172 public static final int MAX_BOTS;
173
174 /** The currency identification of the server. */
175 public static final int CURRENCY = 995;
176
177 /** The limit of the npc identification. */
178 public static final int NPC_DEFINITION_LIMIT;
179
180 /** The limit of the item identification. */
181 public static final int ITEM_DEFINITION_LIMIT;
182
183 /** The npc bits for the server which can execute 6755 npcs. */
184 public static final int NPC_BITS;
185
186 /**
187 * The time in ticks a player remains skulled for.
188 *
189 * 720 ticks ~20 minutes
190 */
191 public static final int SKULL_TIME;
192
193 /** All the tab identifications */
194 public static final int ATTACK_TAB = 0, SKILL_TAB = 1, QUEST_TAB = 2, INVENTORY_TAB = 3, EQUIPMENT_TAB = 4, PRAYER_TAB = 5, MAGIC_TAB = 6, ACTIVITY_TAB = 7, FRIENDS_TAB = 8, IGNORE_TAB = 9, CLAN_TAB = 10, WRENCH_TAB = 11, EMOTE_TAB = 12, MUSIC_TAB = 13, LOGOUT_TAB = 14;
195
196 /** The default, i.e. onSpawn, location. */
197 public static final Position DEFAULT_POSITION = new Position(3087, 3497, 0);
198
199 /** The donator zone. */
200 public static final Position SUPER_DONATOR_ZONE = new Position(2426, 10419, 0);
201 public static final Position REGULAR_DONATOR_ZONE = new Position(2478, 10435, 0);
202
203 /** The staff zone. */
204 public static final Position STAFF_ZONE = new Position(2602, 3874, 0);
205
206 /** The Jail zone. */
207 public static final Position JAIL_ZONE = new Position(2713, 2564, 0);
208
209 public static final Position GAMBLING_ZONE = new Position(1886, 5025, 0);
210
211 /** The default appearance of a player. */
213 0, 10, 18, 26, 34, 36, 42, 0, 0, 0, 3, 1);
214
215 /** Strings that are classified as bad. */
216 public static final String[] BAD_STRINGS = {
217 "fag", "f4g", "faggot", "nigger", "fuck", "bitch", "whore", "slut",
218 "gay", "lesbian", "scape", ".net", ".org", "vagina", "dick",
219 "cock", "penis", "hoe", "soulsplit", "ikov", "retard", "cunt",
220 "g ay", "ga y", "g a y", "h o e",
221 };
222
223 /** Messages that are sent periodically to all players. */
224 public static final String[] MESSAGES = {
225 "",
226 "",
227
228 };
229
230 /**
231 * Holds the array of all the side-bar identification and their
232 * corresponding itemcontainer identification.
233 */
234 public static final int[][] SIDEBAR_INTERFACE = {
235 {Config.ATTACK_TAB, 5855}, {Config.SKILL_TAB, 3917}, {Config.INVENTORY_TAB, 3213}, {Config.QUEST_TAB, 29400},
236 {Config.EQUIPMENT_TAB, 1644}, {Config.PRAYER_TAB, 5608}, {Config.CLAN_TAB, 33500}, {Config.FRIENDS_TAB, 5065},
237 {Config.IGNORE_TAB, 5715}, {Config.WRENCH_TAB, 50020}, {Config.EMOTE_TAB, 41000}, {Config.MUSIC_TAB, -1},
238 {Config.ACTIVITY_TAB, -1}, {Config.LOGOUT_TAB, 2449}
239 };
240
241 public static final String WEBSITE_URL;
242
243 /** The experience modification for combat. */
244 public static final double COMBAT_MODIFICATION;
245
246 /** The experience modification for agility. */
247 public static final double AGILITY_MODIFICATION;
248
249 /** The experience modification for cooking. */
250 public static final double COOKING_MODIFICATION;
251
252 /** The experience modification for crafting. */
253 public static final double CRAFTING_MODIFICATION;
254
255 /** The experience modification for firemaking. */
256 public static final double FIREMAKING_MODIFICATION;
257
258 /** The experience modification for fletching. */
259 public static final double FLETCHING_MODIFICATION;
260
261 /** The experience modification for herblore. */
262 public static final double HERBLORE_MODIFICATION;
263
264 /** The experience modification for hunter. */
265 public static final double HUNTER_MODIFICATION;
266
267 /** The experience modification for magic. */
268 public static final double MAGIC_MODIFICATION;
269
270 /** The experience modification for mining. */
271 public static final double MINING_MODIFICATION;
272
273 /** The experience modification for prayer. */
274 public static final double PRAYER_MODIFICATION;
275
276 /** The experience modification for runecrafting. */
277 public static final double RUNECRAFTING_MODIFICATION;
278
279 /** The experience modification for Slayer. */
280 public static final double SLAYER_MODIFICATION;
281
282 /** The experience modification for woodcutting. */
283 public static final double WOODCUTTING_MODIFICATION;
284
285 /** The experience modification for thieving. */
286 public static final double THIEVING_MODIFICATION;
287
288 /** The experience modification for smithing. */
289 public static final double SMITHING_MODIFICATION;
290
291 /** The experience modification for fishing. */
292 public static final double FISHING_MODIFICATION;
293
294 /** The experience modification for farming. */
295 public static final double FARMING_MODIFICATION;
296
297 public static final int EMAIL_MAX_CHARACTERS = 28;
298 public static final int EMAIL_MIN_CHARACTERS = 7;
299 public static final int USERNAME_MAX_CHARACTERS = 12;
300 public static final int USERNAME_MIN_CHARACTERS = 3;
301 public static final int PASSWORD_MAX_CHARACTERS = 20;
302
303 static {
304 try {
305 final Toml parser = new Toml().read(new File("./settings.toml"));
306 PARALLEL_GAME_ENGINE = parser.getBoolean("server.parallel_game_engine");
307 SERVER_NAME = parser.getString("server.server_name");
308 SERVER_PORT = Math.toIntExact(parser.getLong("server.server_port"));
309 SERVER_DEBUG = parser.getBoolean("server.server_debug");
310 SERVER_CYCLE_DEBUG = parser.getBoolean("server.server_cycle_debug");
311 NPC_BITS = Math.toIntExact(parser.getLong("game.npc_bits"));
312 NPC_WALKING_RADIUS = Math.toIntExact(parser.getLong("game.npc_walking_radius"));
313 LOGIN_THESHOLD = Math.toIntExact(parser.getLong("network.login_threshold"));
314 LOGOUT_THESHOLD = Math.toIntExact(parser.getLong("network.logout_threshold"));
315 MAX_PLAYERS = Math.toIntExact(parser.getLong("game.max_players"));
316 MAX_NPCS = Math.toIntExact(parser.getLong("game.max_npcs"));
317 MAX_BOTS = Math.toIntExact(parser.getLong("game.max_bots"));
318 NPC_DEFINITION_LIMIT = Math.toIntExact(parser.getLong("game.npc_definition_limit"));
319 ITEM_DEFINITION_LIMIT = Math.toIntExact(parser.getLong("game.item_definition_limit"));
320 WEBSITE_URL = parser.getString("website.website_url");
321 FORUM_INTEGRATION = parser.getBoolean("server.website_integration");
322 FORUM_DB_URL = parser.getString("website.forum_db_url");
323 FORUM_DB_USER = parser.getString("website.forum_db_user");
324 FORUM_DB_PASS = parser.getString("website.forum_db_pass");
325 DISCORD_TOKEN = parser.getString("discord.token");
326 COMBAT_MODIFICATION = parser.getDouble("game.combat_modifier");
327 AGILITY_MODIFICATION = parser.getDouble("game.agility_modifier");
328 COOKING_MODIFICATION = parser.getDouble("game.cooking_modifier");
329 CRAFTING_MODIFICATION = parser.getDouble("game.crafting_modifier");
330 FIREMAKING_MODIFICATION = parser.getDouble("game.firemaking_modifier");
331 FLETCHING_MODIFICATION = parser.getDouble("game.fletching_modifier");
332 HERBLORE_MODIFICATION = parser.getDouble("game.herblore_modifier");
333 HUNTER_MODIFICATION = parser.getDouble("game.hunter_modifier");
334 MAGIC_MODIFICATION = parser.getDouble("game.magic_modifier");
335 MINING_MODIFICATION = parser.getDouble("game.mining_modifier");
336 PRAYER_MODIFICATION = parser.getDouble("game.prayer_modifier");
337 RUNECRAFTING_MODIFICATION = parser.getDouble("game.runecrafting_modifier");
338 SLAYER_MODIFICATION = parser.getDouble("game.slayer_modifier");
339 WOODCUTTING_MODIFICATION = parser.getDouble("game.woodcutting_modifier");
340 THIEVING_MODIFICATION = parser.getDouble("game.thieving_modifier");
341 SMITHING_MODIFICATION = parser.getDouble("game.smithing_modifier");
342 FARMING_MODIFICATION = parser.getDouble("game.farming_modifier");
343 FISHING_MODIFICATION = parser.getDouble("game.fishing_modifier");
344 LOG_PLAYER = parser.getBoolean("game.log_player");
345 SKULL_TIME = Math.toIntExact(parser.getLong("game.skull_time"));
346
347 // network
348 CONNECTION_LIMIT = Math.toIntExact(parser.getLong("network.connection_limit"));
349 FAILED_LOGIN_ATTEMPTS = Math.toIntExact(parser.getLong("network.failed_login_attempts"));
350 FAILED_LOGIN_TIMEOUT = Math.toIntExact(parser.getLong("network.failed_login_timeout"));
351 IDLE_TIMEOUT = Math.toIntExact(parser.getLong("network.idle_timeout"));
352 CLIENT_PACKET_THRESHOLD = Math.toIntExact(parser.getLong("network.client_packet_threshold"));
353 SERVER_PACKET_THRESHOLD = Math.toIntExact(parser.getLong("network.server_packet_threshold"));
354 DISPLAY_PACKETS = parser.getBoolean("network.display_packets");
355 RESOURCE_LEAK_DETECTION = ResourceLeakDetector.Level.valueOf(parser.getString("network.resource_leak_detection").toUpperCase());
356 ResourceLeakDetector.setLevel(RESOURCE_LEAK_DETECTION);
357 RSA_MODULUS = new BigInteger(parser.getString("network.rsa_modulus"));
358 RSA_EXPONENT = new BigInteger(parser.getString("network.rsa_exponent"));
359 SUPPORT_HAPROXY = parser.getBoolean("network.support_haproxy");
360 IP_TOS = Integer.parseInt(parser.getString("network.ip_tos"), 2);
361
362 POSTGRE_URL = parser.getString("postgre.postgre_url");
363 POSTGRE_USER = parser.getString("postgre.postgre_user");
364 POSTGRE_PASS = parser.getString("postgre.postgre_pass");
365
366
367
368 // o it's not actually using the setting lmao
369
370
371 String world = parser.getString("world.type");
372
373 switch (world) {
374 case "LIVE":
376 break;
377 case "TEST":
379 break;
380 case "LOCAL":
382 break;
383 }
384
385 CLIENT_VERSION = Math.toIntExact(parser.getLong("client.client_version"));
386
387 highscoresEnabled = parser.getBoolean("services.highscores_enabled");
388 } catch (Exception ex) {
389 ex.printStackTrace();
390 throw new ExceptionInInitializerError("Failed to parse config file.");
391 }
392 }
393
394 /** Starter bank */
395 public final static int[] STARTER_BANK_AMOUNT = { 2, 8, 21, 11, 48, 9, 0, 0, 0, 0, };
396 public final static Item[] STARTER_BANK = {
397 new Item(995, 500000), new Item(8013, 2500), new Item(1704, 1000), new Item(1725, 1000), new Item(1731, 1000),
398 new Item(2550, 1000), new Item(7458, 1000), new Item(7460, 1000), new Item(7461, 1000), new Item(3105, 1000),
399 new Item(4587, 1000), new Item(1305, 1000), new Item(1377, 1000), new Item(1434, 1000), new Item(5698, 1000),
400 new Item(8850, 1000), new Item(10828, 1000), new Item(3751, 1000), new Item(1163, 1000), new Item(1127, 1000),
401 new Item(1079, 1000), new Item(1093, 1000), new Item(1201, 1000), new Item(4131, 1000), new Item(1153, 1000),
402 new Item(1115, 1000), new Item(1067, 1000), new Item(1081, 1000), new Item(1191, 1000), new Item(544, 1000),
403 new Item(542, 1000), new Item(861, 1000), new Item(892, 100000), new Item(9185, 1000), new Item(9242, 100000),
404 new Item(9243, 100000), new Item(9244, 100000), new Item(10499, 1000), new Item(10498, 1000), new Item(2497, 1000),
405 new Item(2491, 1000), new Item(2503, 1000), new Item(4675, 1000), new Item(1387, 1000), new Item(1383, 1000),
406 new Item(1381, 1000), new Item(556, 100000), new Item(557, 100000), new Item(554, 100000), new Item(555, 100000),
407 new Item(558, 100000), new Item(559, 100000), new Item(560, 100000), new Item(561, 100000), new Item(562, 100000),
408 new Item(563, 100000), new Item(564, 100000), new Item(565, 100000), new Item(566, 100000), new Item(9075, 100000),
409 new Item(21880, 100000), new Item(3841, 1000), new Item(2414, 1000), new Item(3843, 1000), new Item(2413, 1000),
410 new Item(3839, 1000), new Item(2412, 1000), new Item(3749, 1000), new Item(3755, 1000), new Item(4089, 1000),
411 new Item(4091, 1000), new Item(4093, 1000), new Item(4095, 1000), new Item(4097, 1000), new Item(4099, 1000),
412 new Item(4101, 1000), new Item(4103, 1000), new Item(4105, 1000), new Item(4107, 1000), new Item(4109, 1000),
413 new Item(4111, 1000), new Item(4113, 1000), new Item(4115, 1000), new Item(4117, 1000), new Item(6109, 1000),
414 new Item(6107, 1000), new Item(6108, 1000), new Item(6111, 1000), new Item(6110, 1000), new Item(6106, 1000),
415 new Item(391, 1000), new Item(385, 1000), new Item(3144, 1000), new Item(2436, 1000), new Item(2440, 1000),
416 new Item(2442, 1000), new Item(2444, 1000), new Item(6685, 1000), new Item(3024, 1000),
417 };
418
419 /** TEMP VARS - WILL BE DELETED AFTER BETA IS FINISHED */
420 public final static int[] LEET_BANK_AMOUNTS = {7, 46, 19, 42, 41, 15, 21, 4, 0, 0,};
421 public final static Item[] LEET_BANK_ITEMS = {
422 new Item(995, 10000), new Item(11665, 10000), new Item(11663, 10000), new Item(11664, 10000), new Item(8840, 10000),
423 new Item(8839, 10000), new Item(8842, 10000), new Item(4151, 10000), new Item(11802, 10000), new Item(11804, 10000),
424 new Item(11806, 10000), new Item(11808, 10000), new Item(13652, 10000), new Item(13576, 10000), new Item(4587, 10000),
425 new Item(1305, 10000), new Item(7158, 10000), new Item(1434, 10000), new Item(5698, 10000), new Item(1215, 10000),
426 new Item(11840, 10000), new Item(6585, 10000), new Item(12954, 10000), new Item(11283, 10000), new Item(10551, 10000),
427 new Item(4153, 10000), new Item(10828, 10000), new Item(3751, 10000), new Item(2550, 10000), new Item(3105, 10000),
428 new Item(1725, 10000), new Item(1704, 10000), new Item(1731, 10000), new Item(1163, 10000), new Item(1127, 10000),
429 new Item(1079, 10000), new Item(1201, 10000), new Item(7460, 10000), new Item(4131, 10000), new Item(11832, 10000),
430 new Item(11834, 10000), new Item(11836, 10000), new Item(21015, 10000), new Item(6570, 10000), new Item(13239, 10000),
431 new Item(11773, 10000), new Item(12931, 10000), new Item(13197, 10000), new Item(13199, 10000), new Item(19639, 10000),
432 new Item(19643, 10000), new Item(19647, 10000), new Item(11772, 10000), new Item(861, 10000), new Item(892, 10000),
433 new Item(9185, 10000), new Item(9244, 10000), new Item(868, 10000), new Item(811, 10000), new Item(10498, 10000),
434 new Item(10499, 10000), new Item(3749, 10000), new Item(2503, 10000), new Item(2497, 10000), new Item(2491, 10000),
435 new Item(19481, 10000), new Item(11785, 10000), new Item(11826, 10000), new Item(11828, 10000), new Item(11830, 10000),
436 new Item(13237, 10000), new Item(11771, 10000), new Item(4675, 10000), new Item(12904, 10000), new Item(11791, 10000),
437 new Item(11770, 10000), new Item(13235, 10000), new Item(3755, 10000), new Item(1540, 10000), new Item(6889, 10000),
438 new Item(2412, 10000), new Item(3840, 10000), new Item(2413, 10000), new Item(3844, 10000), new Item(2414, 10000),
439 new Item(3842, 10000), new Item(4089, 10000), new Item(4091, 10000), new Item(4093, 10000), new Item(4095, 10000),
440 new Item(4097, 10000), new Item(4099, 10000), new Item(4101, 10000), new Item(4103, 10000), new Item(4105, 10000),
441 new Item(4107, 10000), new Item(4109, 10000), new Item(4111, 10000), new Item(4113, 10000), new Item(4115, 10000),
442 new Item(4117, 10000), new Item(554, 10000), new Item(555, 10000), new Item(556, 10000), new Item(557, 10000),
443 new Item(558, 10000), new Item(559, 10000), new Item(560, 10000), new Item(561, 10000), new Item(562, 10000),
444 new Item(563, 10000), new Item(564, 10000), new Item(565, 10000), new Item(9075, 10000), new Item(6685, 10000),
445 new Item(3024, 10000), new Item(2436, 10000), new Item(2440, 10000), new Item(2442, 10000), new Item(2444, 10000),
446 new Item(3040, 10000), new Item(2434, 10000), new Item(2448, 10000), new Item(6687, 10000), new Item(3026, 10000),
447 new Item(145, 10000), new Item(157, 10000), new Item(163, 10000), new Item(169, 10000), new Item(3042, 10000),
448 new Item(139, 10000), new Item(181, 10000), new Item(6689, 10000), new Item(3028, 10000), new Item(147, 10000),
449 new Item(159, 10000), new Item(165, 10000), new Item(171, 10000), new Item(3044, 10000), new Item(141, 10000),
450 new Item(183, 10000), new Item(6691, 10000), new Item(3030, 10000), new Item(149, 10000), new Item(161, 10000),
451 new Item(167, 10000), new Item(173, 10000), new Item(3046, 10000), new Item(143, 10000), new Item(185, 10000),
452 new Item(12695, 10000), new Item(3144, 10000), new Item(391, 10000), new Item(7060, 10000), new Item(385, 10000),
453 new Item(4315, 10000), new Item(4317, 10000), new Item(4319, 10000), new Item(4335, 10000), new Item(4337, 10000),
454 new Item(4339, 10000), new Item(4355, 10000), new Item(4357, 10000), new Item(4359, 10000), new Item(4375, 10000),
455 new Item(4377, 10000), new Item(4379, 10000), new Item(4395, 10000), new Item(4397, 10000), new Item(4399, 10000),
456 new Item(4716, 10000), new Item(4718, 10000), new Item(4720, 10000), new Item(4722, 10000), new Item(4745, 10000),
457 new Item(4747, 10000), new Item(4749, 10000), new Item(4751, 10000), new Item(4732, 10000), new Item(4734, 10000),
458 new Item(4736, 10000), new Item(4738, 10000), new Item(4740, 10000), new Item(4708, 10000), new Item(4710, 10000),
459 new Item(4712, 10000), new Item(4714, 10000), new Item(4753, 10000), new Item(4755, 10000), new Item(4757, 10000),
460 new Item(4759, 10000), new Item(12829, 10000), new Item(12821, 10000), new Item(12817, 10000), new Item(12825, 10000),
461 };
462}
The class that contains setting-related constants for the server.
Definition Config.java:24
static final double HERBLORE_MODIFICATION
The experience modification for herblore.
Definition Config.java:262
static final double MINING_MODIFICATION
The experience modification for mining.
Definition Config.java:271
static final int WRENCH_TAB
Definition Config.java:194
static final Appearance DEFAULT_APPEARANCE
The default appearance of a player.
Definition Config.java:212
static final int MAGIC_TAB
Definition Config.java:194
static final Position DEFAULT_POSITION
The default, i.e.
Definition Config.java:197
static final int QUEST_TAB
Definition Config.java:194
static final String FORUM_DB_PASS
This is used for mySQL to authenticate username and passwords from the forum.
Definition Config.java:126
static final String[] WELCOME_ANNOUNCEMENT
The welcome announcement.
Definition Config.java:45
static final int FRIENDS_TAB
Definition Config.java:194
static final int ATTACK_TAB
All the tab identifications.
Definition Config.java:194
static final String FORUM_DB_URL
This is used for mySQL to authenticate username and passwords from the forum.
Definition Config.java:120
static final double FLETCHING_MODIFICATION
The experience modification for fletching.
Definition Config.java:259
static final int EMOTE_TAB
Definition Config.java:194
static final int IP_TOS
Definition Config.java:101
static final int MUSIC_TAB
Definition Config.java:194
static final int LOGIN_THESHOLD
The amount of players that can be logged in, in a single cycle.
Definition Config.java:160
static final Position GAMBLING_ZONE
Definition Config.java:209
static final int SKULL_TIME
The time in ticks a player remains skulled for.
Definition Config.java:191
static final double THIEVING_MODIFICATION
The experience modification for thieving.
Definition Config.java:286
static boolean DISABLE_BROADCASTS
Flag to disable all broadcast messages (TriviaBot, killstreaks, pets, etc.)
Definition Config.java:148
static final double WOODCUTTING_MODIFICATION
The experience modification for woodcutting.
Definition Config.java:283
static final boolean FORUM_INTEGRATION
If forum integration is true, users can only login if they enter the same username and password that'...
Definition Config.java:117
static final boolean PARALLEL_GAME_ENGINE
This will use the parallel game game.
Definition Config.java:108
static final int CLIENT_PACKET_THRESHOLD
The amount of client (incoming) packets that can be handled by the server each tick.
Definition Config.java:60
static final int NPC_WALKING_RADIUS
The walking radius for Npc.
Definition Config.java:157
static final double COOKING_MODIFICATION
The experience modification for cooking.
Definition Config.java:250
static final boolean SERVER_CYCLE_DEBUG
Displays the time in milliseconds each tick the game takes to run through a game cycle.
Definition Config.java:151
static final int CLIENT_VERSION
Definition Config.java:135
static final Position REGULAR_DONATOR_ZONE
Definition Config.java:201
static final int CURRENCY
The currency identification of the server.
Definition Config.java:175
static final String[] WELCOME_MARQUEE
The welcome marquee.
Definition Config.java:33
static final int ACTIVITY_TAB
Definition Config.java:194
static boolean DOUBLE_EXPERIENCE
Definition Config.java:139
static final int USERNAME_MIN_CHARACTERS
Definition Config.java:300
static final boolean LOG_PLAYER
Definition Config.java:105
static final int SERVER_PORT
The server port.
Definition Config.java:154
static final boolean SUPPORT_HAPROXY
Definition Config.java:100
static final int[][] SIDEBAR_INTERFACE
Holds the array of all the side-bar identification and their corresponding itemcontainer identificati...
Definition Config.java:234
static final int PASSWORD_MAX_CHARACTERS
Definition Config.java:301
static final String POSTGRE_URL
Definition Config.java:128
static final String LATEST_UPDATE_THREAD
The latest update thread link.
Definition Config.java:30
static final Position STAFF_ZONE
The staff zone.
Definition Config.java:204
static final int USERNAME_MAX_CHARACTERS
Definition Config.java:299
static final int CLAN_TAB
Definition Config.java:194
static final int CONNECTION_LIMIT
The maximum amount of connections that can be active at a time, or in other words how many clients ca...
Definition Config.java:73
static final String FORUM_DB_USER
This is used for mySQL to authenticate username and passwords from the forum.
Definition Config.java:123
static final int PRAYER_TAB
Definition Config.java:194
static final double MAGIC_MODIFICATION
The experience modification for magic.
Definition Config.java:268
static final int EQUIPMENT_TAB
Definition Config.java:194
static final Item[] LEET_BANK_ITEMS
Definition Config.java:421
static final double COMBAT_MODIFICATION
The experience modification for combat.
Definition Config.java:244
static final double FARMING_MODIFICATION
The experience modification for farming.
Definition Config.java:295
static final String WEBSITE_URL
Definition Config.java:241
static final ObjectSet< String > IGNORED_EXCEPTIONS
The list of exceptions that are ignored and discarded by the.
Definition Config.java:85
static final int MAX_NPCS
The maximum amount of npcs that can be held within the game world.
Definition Config.java:169
static final String[] BAD_STRINGS
Strings that are classified as bad.
Definition Config.java:216
static final String DISCORD_TOKEN
The OS Royale community discord token.
Definition Config.java:142
static final int FAILED_LOGIN_ATTEMPTS
Definition Config.java:132
static final int[] STARTER_BANK_AMOUNT
Starter bank.
Definition Config.java:395
static final String POSTGRE_USER
Definition Config.java:129
static final BigInteger RSA_MODULUS
The RSA modulus.
Definition Config.java:95
static final int NPC_BITS
The npc bits for the server which can execute 6755 npcs.
Definition Config.java:184
static final int INVENTORY_TAB
Definition Config.java:194
static final double SLAYER_MODIFICATION
The experience modification for Slayer.
Definition Config.java:280
static final int FAILED_LOGIN_TIMEOUT
Definition Config.java:133
static final BigInteger RSA_EXPONENT
The RSA exponent.
Definition Config.java:98
static final int EMAIL_MAX_CHARACTERS
Definition Config.java:297
static final Item[] STARTER_BANK
Definition Config.java:396
static final AttributeKey< String > SOURCE_ADDRESS
Definition Config.java:92
static final String LATEST_ANNOUNCEMENT_THREAD
The latest announcement thread link.
Definition Config.java:27
static final double SMITHING_MODIFICATION
The experience modification for smithing.
Definition Config.java:289
static final double FISHING_MODIFICATION
The experience modification for fishing.
Definition Config.java:292
static final String SERVER_NAME
The name of the server.
Definition Config.java:111
static boolean DISPLAY_PACKETS
Displays packet information in the output stream.
Definition Config.java:67
static final Position JAIL_ZONE
The Jail zone.
Definition Config.java:207
static final double AGILITY_MODIFICATION
The experience modification for agility.
Definition Config.java:247
static final int LOGOUT_THESHOLD
The amount of players that can logout in a single cycle.
Definition Config.java:163
static final ResourceLeakDetector.Level RESOURCE_LEAK_DETECTION
The resource leak detection level, should be PARANOID in a development environment and DISABLED in a ...
Definition Config.java:82
static final int IDLE_TIMEOUT
The number of seconds before a connection becomes idle.
Definition Config.java:76
static final AttributeKey< Session > SESSION_KEY
The session key.
Definition Config.java:90
static final int SERVER_PACKET_THRESHOLD
The amount of server (outgoing) packets that can be written by the server each tick.
Definition Config.java:64
static final double CRAFTING_MODIFICATION
The experience modification for crafting.
Definition Config.java:253
static final String[] WELCOME_UPDATE
Definition Config.java:53
static final int[] LEET_BANK_AMOUNTS
TEMP VARS - WILL BE DELETED AFTER BETA IS FINISHED.
Definition Config.java:420
static final double HUNTER_MODIFICATION
The experience modification for hunter.
Definition Config.java:265
static final int LOGOUT_TAB
Definition Config.java:194
static final int IGNORE_TAB
Definition Config.java:194
static WorldType WORLD_TYPE
Definition Config.java:103
static final int ITEM_DEFINITION_LIMIT
The limit of the item identification.
Definition Config.java:181
static boolean SERVER_DEBUG
The development state flag.
Definition Config.java:145
static boolean highscoresEnabled
Definition Config.java:137
static final int MAX_BOTS
The amount of bots that will spawn into the game world.
Definition Config.java:172
static final int MAX_PLAYERS
The maximum amount of players that can be held within the game world.
Definition Config.java:166
static final String[] WELCOME_DIALOGUE
The welcome dialogue.
Definition Config.java:38
static final int SKILL_TAB
Definition Config.java:194
static final double PRAYER_MODIFICATION
The experience modification for prayer.
Definition Config.java:274
static final String[] MESSAGES
Messages that are sent periodically to all players.
Definition Config.java:224
static final int NPC_DEFINITION_LIMIT
The limit of the npc identification.
Definition Config.java:178
static final Position SUPER_DONATOR_ZONE
The donator zone.
Definition Config.java:200
static final double FIREMAKING_MODIFICATION
The experience modification for firemaking.
Definition Config.java:256
static final int EMAIL_MIN_CHARACTERS
Definition Config.java:298
static final String POSTGRE_PASS
Definition Config.java:130
static final double RUNECRAFTING_MODIFICATION
The experience modification for runecrafting.
Definition Config.java:277
The container class that represents an item that can be interacted with.
Definition Item.java:21
Represents a single tile on the game world.
Definition Position.java:14
The OS Royale world types.
Definition WorldType.java:8
LOCAL
Local host world used for developers.
TEST
The world used for testing purposes by a team.
Represents a gender for a player character.
Definition Gender.java:8