349 lines
11 KiB
Kotlin
349 lines
11 KiB
Kotlin
package core
|
|
|
|
import core.game.system.SystemShutdownHook
|
|
import core.game.world.map.Location
|
|
import core.tools.LogLevel
|
|
import core.tools.mysql.Database
|
|
import core.tools.secondsToTicks
|
|
import rs09.game.content.activity.castlewars.CastleWars
|
|
import java.math.BigInteger
|
|
import java.util.*
|
|
|
|
/**
|
|
* A class holding various variables for the server.
|
|
* @author Ceikry
|
|
*/
|
|
class ServerConstants {
|
|
companion object {
|
|
var NOAUTH_DEFAULT_ADMIN: Boolean = true
|
|
|
|
@JvmField
|
|
var CURRENT_SAVEFILE_VERSION = 3
|
|
|
|
@JvmField
|
|
var DAILY_ACCOUNT_LIMIT = 3
|
|
|
|
@JvmField
|
|
var REVENANT_POPULATION: Int = 30
|
|
|
|
@JvmField
|
|
var BOTS_INFLUENCE_PRICE_INDEX = true
|
|
|
|
@JvmField
|
|
var SHUTDOWN_HOOK: Thread = Thread(SystemShutdownHook())
|
|
|
|
@JvmField
|
|
var ALLOW_GUI: Boolean = false
|
|
|
|
@JvmField
|
|
var DATA_PATH: String? = null
|
|
|
|
//path to the cache
|
|
@JvmField
|
|
var CACHE_PATH: String? = null
|
|
|
|
//path for the server store
|
|
@JvmField
|
|
var STORE_PATH: String? = null
|
|
|
|
//path for player saves
|
|
@JvmField
|
|
var PLAYER_SAVE_PATH: String? = null
|
|
|
|
@JvmField
|
|
var PLAYER_ATTRIBUTE_PATH = "ish"
|
|
|
|
//path to the various config files, such as npc_spawns.json
|
|
var CONFIG_PATH: String? = null
|
|
|
|
@JvmField
|
|
var GRAND_EXCHANGE_DATA_PATH: String? = null
|
|
|
|
@JvmField
|
|
var RDT_DATA_PATH: String? = null
|
|
|
|
@JvmField
|
|
var OBJECT_PARSER_PATH: String? = null
|
|
|
|
@JvmField
|
|
var SCRIPTS_PATH: String? = null
|
|
|
|
@JvmField
|
|
var DIALOGUE_SCRIPTS_PATH: String? = null
|
|
|
|
@JvmField
|
|
var LOGS_PATH: String? = null
|
|
|
|
@JvmField
|
|
var BOT_DATA_PATH: String? = null
|
|
|
|
@JvmField
|
|
var CELEDT_DATA_PATH: String? = null
|
|
|
|
@JvmField
|
|
var USDT_DATA_PATH: String? = null
|
|
|
|
@JvmField
|
|
var HDT_DATA_PATH: String? = null
|
|
|
|
@JvmField
|
|
var GDT_DATA_PATH: String? = null
|
|
|
|
@JvmField
|
|
var RSDT_DATA_PATH: String? = null
|
|
|
|
@JvmField
|
|
var ASDT_DATA_PATH: String? = null
|
|
|
|
@JvmField
|
|
var GRAFANA_PATH: String? = null
|
|
|
|
//the max number of players.
|
|
@JvmField
|
|
var MAX_PLAYERS = 2000
|
|
|
|
//the max number of NPCs
|
|
@JvmField
|
|
var MAX_NPCS = 32000
|
|
|
|
//the location where new players are placed on login.
|
|
@JvmField
|
|
var START_LOCATION: Location? = null
|
|
|
|
//Location for all home teleports/respawn location
|
|
@JvmField
|
|
var HOME_LOCATION: Location? = null
|
|
|
|
//the name for the database
|
|
@JvmField
|
|
var DATABASE_NAME: String? = null
|
|
|
|
//username for the database
|
|
@JvmField
|
|
var DATABASE_USER: String? = null
|
|
|
|
//password for the database
|
|
@JvmField
|
|
var DATABASE_PASS: String? = null
|
|
|
|
//address for the database
|
|
@JvmField
|
|
var DATABASE_ADDRESS: String? = null
|
|
|
|
@JvmField
|
|
var DATABASE_PORT: String? = null
|
|
|
|
@JvmField
|
|
var WRITE_LOGS: Boolean = false
|
|
|
|
@JvmField
|
|
var BANK_SIZE: Int = 496
|
|
|
|
@JvmField
|
|
var BANK_BOOTH_QUICK_OPEN: Boolean = false
|
|
|
|
@JvmField
|
|
var BANK_BOOTH_NOTE_ENABLED: Boolean = true
|
|
|
|
@JvmField
|
|
var BANK_BOOTH_NOTE_UIM: Boolean = true
|
|
|
|
@JvmField
|
|
var GE_AUTOSAVE_FREQUENCY = secondsToTicks(3600) //1 hour
|
|
|
|
@JvmField
|
|
var GE_AUTOSTOCK_ENABLED = false
|
|
|
|
@JvmField
|
|
var MS_SECRET_KEY = ""
|
|
|
|
@JvmField
|
|
var LOG_CUTSCENE = true
|
|
|
|
@JvmField
|
|
var RULES_AND_INFO_ENABLED = true
|
|
|
|
@JvmField
|
|
var WATCHDOG_ENABLED = true
|
|
|
|
@JvmField
|
|
var I_AM_A_CHEATER = false
|
|
|
|
@JvmField
|
|
var LOG_LEVEL = LogLevel.VERBOSE
|
|
|
|
@JvmField
|
|
var JAVA_VERSION = 8
|
|
|
|
@JvmField
|
|
var GRAFANA_LOGGING = true
|
|
|
|
@JvmField
|
|
var GRAFANA_TTL_DAYS = 7
|
|
|
|
//location names for the ::to command.
|
|
val TELEPORT_DESTINATIONS = arrayOf(
|
|
arrayOf(Location.create(2974, 4383, 2), "corp", "corporal", "corporeal"),
|
|
arrayOf(Location.create(2659, 2649, 0), "pc", "pest control", "pest"),
|
|
arrayOf(Location.create(3293, 3184, 0), "al kharid", "alkharid", "kharid"),
|
|
arrayOf(Location.create(3222, 3217, 0), "lumbridge", "lumby"),
|
|
arrayOf(Location.create(3110, 3168, 0), "wizard tower", "wizards tower", "tower", "wizards"),
|
|
arrayOf(Location.create(3083, 3249, 0), "draynor", "draynor village"),
|
|
arrayOf(Location.create(3019, 3244, 0), "port sarim", "sarim"),
|
|
arrayOf(Location.create(2956, 3209, 0), "rimmington"),
|
|
arrayOf(Location.create(2965, 3380, 0), "fally", "falador"),
|
|
arrayOf(Location.create(2895, 3436, 0), "taverley"),
|
|
arrayOf(Location.create(3080, 3423, 0), "barbarian village", "barb"),
|
|
arrayOf(Location.create(3213, 3428, 0), "varrock"),
|
|
arrayOf(Location.create(3164, 3485, 0), "grand exchange", "ge"),
|
|
arrayOf(Location.create(2917, 3175, 0), "karamja"),
|
|
arrayOf(Location.create(2450, 5165, 0), "tzhaar"),
|
|
arrayOf(Location.create(2795, 3177, 0), "brimhaven"),
|
|
arrayOf(Location.create(2849, 2961, 0), "shilo village", "shilo"),
|
|
arrayOf(Location.create(2605, 3093, 0), "yanille"),
|
|
arrayOf(Location.create(2663, 3305, 0), "ardougne", "ardy"),
|
|
arrayOf(Location.create(2450, 3422, 0), "gnome stronghold", "gnome"),
|
|
arrayOf(Location.create(2730, 3485, 0), "camelot", "cammy", "seers"),
|
|
arrayOf(Location.create(2805, 3435, 0), "catherby"),
|
|
arrayOf(Location.create(2659, 3657, 0), "rellekka"),
|
|
arrayOf(Location.create(2890, 3676, 0), "trollheim"),
|
|
arrayOf(Location.create(2914, 3746, 0), "godwars", "gwd", "god wars"),
|
|
arrayOf(Location.create(3180, 3684, 0), "bounty hunter", "bh"),
|
|
arrayOf(Location.create(3272, 3687, 0), "clan wars", "clw"),
|
|
arrayOf(Location.create(3090, 3957, 0), "mage arena", "mage", "magearena", "arena"),
|
|
arrayOf(Location.create(3069, 10257, 0), "king black dragon", "kbd"),
|
|
arrayOf(Location.create(3359, 3416, 0), "digsite"),
|
|
arrayOf(Location.create(3488, 3489, 0), "canifis"),
|
|
arrayOf(Location.create(3428, 3526, 0), "slayer tower", "slayer"),
|
|
arrayOf(Location.create(3502, 9483, 2), "kalphite queen", "kq", "kalphite hive", "kalphite"),
|
|
arrayOf(Location.create(3233, 2913, 0), "pyramid"),
|
|
arrayOf(Location.create(3419, 2917, 0), "nardah"),
|
|
arrayOf(Location.create(3482, 3090, 0), "uzer"),
|
|
arrayOf(Location.create(3358, 2970, 0), "pollnivneach", "poln"),
|
|
arrayOf(Location.create(3305, 2788, 0), "sophanem"),
|
|
arrayOf(Location.create(2898, 3544, 0), "burthorpe", "burthorp"),
|
|
arrayOf(Location.create(3088, 3491, 0), "edge", "edgeville"),
|
|
arrayOf(Location.create(3169, 3034, 0), "bedabin"),
|
|
arrayOf(Location.create(3565, 3289, 0), "barrows"),
|
|
arrayOf(Location.create(3016, 3513, 0), "bkf", "black knights fortress"),
|
|
arrayOf(Location.create(3052, 3481, 0), "monastery"),
|
|
arrayOf(Location.create(1945, 4959, 0), "blast furnace", "blast"),
|
|
arrayOf(Location.create(2408, 4449, 0), "zanaris"),
|
|
arrayOf(Location.create(3656, 3517, 0), "ectofuntus", "ecto"),
|
|
arrayOf(Location.create(2408, 4449, 0), "tower of life lower"),
|
|
arrayOf(Location.create(2894, 4756, 0), "test area"),
|
|
arrayOf(Location.create(2722, 4886, 0), "quest the golem 1"),
|
|
arrayOf(Location.create(2704, 5349, 0), "dorgeshuun", "dorg"),
|
|
arrayOf(Location.create(2711, 10132, 0), "brine rats"),
|
|
arrayOf(Location.create(2328, 3677, 0), "piscatoris"),
|
|
arrayOf(Location.create(2660, 3158, 0), "fishing trawler", "trawler"),
|
|
arrayOf(Location.create(2800, 3667, 0), "mountain camp"),
|
|
arrayOf(Location.create(2575, 3250, 0), "clocktower"),
|
|
arrayOf(Location.create(2544, 3759, 0), "waterbirth"),
|
|
arrayOf(Location.create(2899, 4450, 0), "dks"),
|
|
arrayOf(CastleWars.lobbyBankArea.randomLoc, "cwars", "castle wars", "castle war", "castlewars", "castlewar", "castle")
|
|
)
|
|
|
|
@JvmField
|
|
var DATABASE: Database? = null
|
|
|
|
//if SQL is enabled
|
|
@JvmField
|
|
var MYSQL = true
|
|
|
|
//the server name
|
|
@JvmField
|
|
var SERVER_NAME: String = ""
|
|
|
|
//the server's grand exchange name
|
|
@JvmField
|
|
var SERVER_GE_NAME: String = ""
|
|
|
|
//The RSA_KEY for the server.
|
|
@JvmField
|
|
var EXPONENT = BigInteger("52317200263721308660411803146360972546561037484450290559823448967617618536819222494429186211525706853703641369936136465589036631055945454547936148730495933263344792588795811788941129493188907621550836988152620502378278134421731002382361670176785306598134280732756356458964850508114958769985438054979422820241")
|
|
|
|
//The MODULUS for the server.
|
|
@JvmField
|
|
var MODULUS = BigInteger("96982303379631821170939875058071478695026608406924780574168393250855797534862289546229721580153879336741968220328805101128831071152160922518190059946555203865621183480223212969502122536662721687753974815205744569357388338433981424032996046420057284324856368815997832596174397728134370577184183004453899764051")
|
|
|
|
@JvmField
|
|
var DAILY_RESTART = false
|
|
|
|
@JvmField
|
|
var DISCORD_GE_WEBHOOK = ""
|
|
|
|
@JvmField
|
|
var DISCORD_MOD_WEBHOOK = ""
|
|
|
|
@JvmField
|
|
var DISCORD_OPENRSC_HOOK = ""
|
|
|
|
@JvmField
|
|
var PRELOAD_MAP = false
|
|
|
|
@JvmField
|
|
var USE_AUTH = false
|
|
|
|
@JvmField
|
|
var PERSIST_ACCOUNTS = false
|
|
|
|
@JvmField
|
|
var DRAGON_AXE_USE_OSRS_SPEC = false
|
|
|
|
@JvmField
|
|
var ENABLE_GLOBALCHAT = false
|
|
|
|
@JvmField
|
|
var MAX_PATHFIND_DISTANCE = 25
|
|
|
|
@JvmField
|
|
var IRONMAN_ICONS = false
|
|
|
|
@JvmField
|
|
var PLAYER_STOCK_CLEAR_INTERVAL = 1
|
|
|
|
@JvmField
|
|
var PLAYER_STOCK_RECIRCULATE = true
|
|
|
|
@JvmField
|
|
var BOTSTOCK_LIMIT = 5000
|
|
|
|
@JvmField
|
|
var BETTER_AGILITY_PYRAMID_GP = true
|
|
|
|
@JvmField
|
|
var BETTER_DFS = true
|
|
|
|
@JvmField
|
|
var NEW_PLAYER_ANNOUNCEMENT = true
|
|
|
|
@JvmField
|
|
var HOLIDAY_EVENT_RANDOMS = true
|
|
|
|
@JvmField
|
|
var FORCE_HALLOWEEN_EVENTS = false
|
|
|
|
@JvmField
|
|
var FORCE_CHRISTMAS_EVENTS = false
|
|
|
|
@JvmField
|
|
var FORCE_EASTER_EVENTS = false
|
|
|
|
@JvmField
|
|
var RUNECRAFTING_FORMULA_REVISION = 581
|
|
|
|
@JvmField
|
|
var ENHANCED_DEEP_WILDERNESS = false
|
|
|
|
@JvmField
|
|
var STARTUP_MOMENT = Calendar.getInstance()
|
|
|
|
@JvmField
|
|
var CONNECTIVITY_CHECK_URL = "https://google.com,https://2009scape.org"
|
|
|
|
@JvmField
|
|
var CONNECTIVITY_TIMEOUT = 500
|
|
}
|
|
}
|