Add OpenRCT2 (#461)

This commit is contained in:
Greelan 2023-09-22 08:03:57 +10:00 committed by GitHub
parent 5208e4f37b
commit 476a59980f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 887 additions and 0 deletions

101
openrct2.kvp Normal file
View File

@ -0,0 +1,101 @@
Meta.DisplayName=OpenRCT2
Meta.Description=OpenRCT2 Dedicated Server
Meta.OS=Windows, Linux
Meta.AarchSupport=Unknown
Meta.Arch=x86_64
Meta.Author=Greelan
Meta.URL=https://openrct2.org/
Meta.DisplayImageSource=url:https://openrct2.org/assets/images/logos/icon_x512.png
Meta.EndpointURIFormat=
Meta.ConfigManifest=openrct2config.json
Meta.MetaConfigManifest=openrct2metaconfig.json
Meta.ConfigRoot=openrct2.kvp
Meta.MinAMPVersion=2.4.6.2
Meta.SpecificDockerImage=
Meta.DockerRequired=False
Meta.DockerBaseReadOnly=False
Meta.ContainerPolicy=Supported
Meta.ContainerPolicyReason=
Meta.ExtraSetupStepsURI=
Meta.Prerequsites=[]
Meta.ExtraContainerPackages=[]
Meta.ConfigReleaseState=NotSpecified
Meta.NoCommercialUsage=False
Meta.ConfigVersion=0.0.0.0
Meta.ReleaseNotes=
Meta.BreakingReleaseNotes=
App.DisplayName=OpenRCT2
App.RootDir=./openrct2/
App.BaseDirectory=./openrct2/server/
App.SteamWorkshopDownloadLocation=
App.ExecutableWin=server\openrct2.com
App.ExecutableLinux=server/squashfs-root/usr/bin/openrct2-cli
App.WorkingDir=server
App.LinuxCommandLineArgs=
App.WindowsCommandLineArgs=
App.CommandLineArgs={{$PlatformArgs}} {{HostMode}} --headless --port={{$GamePort}} --user-data-path=./user-data --rct2-data-path=./rct2game --rct1-data-path=./rct1game {{$FormattedArgs}}
App.UseLinuxIOREDIR=False
App.AppSettings={}
App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%"}
App.CommandLineParameterFormat=--{0}="{1}"
App.CommandLineParameterDelimiter=
App.ExitMethod=OS_CLOSE
App.ExitTimeout=30
App.ExitString=stop
App.ExitFile=app_exit.lck
App.HasWriteableConsole=True
App.HasReadableConsole=True
App.SupportsLiveSettingsChanges=False
App.LiveSettingChangeCommandFormat=set {0} "{1}"
App.ApplicationIPBinding=0.0.0.0
App.Ports=[{"Protocol":"TCP","Port":11753,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":11754,"Ref":"LANPort","Name":"LAN Port","Description":"Port for LAN broadcast traffic"}]
App.AdminPortRef=0
App.PrimaryApplicationPortRef=GamePort
App.UniversalSleepApplicationUDPPortRef=0
App.UniversalSleepSteamQueryPortRef=0
App.MaxUsers=16
App.UseRandomAdminPassword=False
App.PersistRandomPassword=True
App.RemoteAdminPassword=
App.AdminMethod=STDIO
App.AdminLoginTransform=None
App.LoginTransformPrefix=
App.RCONConnectDelaySeconds=30
App.RCONConnectRetrySeconds=15
App.RCONHeartbeatMinutes=0
App.RCONHeartbeatCommand=ping
App.TelnetLoginFormat={0}
App.UpdateSources=@IncludeJson[openrct2updates.json]
App.PreStartStages=[]
App.ForceUpdate=False
App.ForceUpdateReason=
App.Compatibility=None
App.SteamUpdateAnonymousLogin=False
App.SteamForceLoginPrompt=True
App.RapidStartup=False
App.MonitorChildProcess=False
App.DumpFullChildProcessTree=False
App.MonitorChildProcessWaitMs=1000
App.MonitorChildProcessName=
App.SupportsUniversalSleep=False
App.WakeupMode=Any
App.ApplicationReadyMode=RegexMatch
App.TemplateMatchRegex={{(\$?[\w]+)}}
Console.FilterMatchRegex=\[\d+m
Console.FilterMatchReplacement=
Console.ThrowawayMessageRegex=(WARNING|ERROR): Shader.+
Console.AppReadyRegex=^Listening for clients on .*:\d+$
Console.UserJoinRegex=^$
Console.UserLeaveRegex=^$
Console.UserChatRegex=^.*\[CHAT\] \(\d+\) <(?<username>.+?)> (?<message>.+)$
Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$
Console.MetricsRegex=
Console.SuppressLogAtStart=False
Console.ActivateLogRegex=
Console.UserActions={}
Limits.SleepMode=True
Limits.SleepOnStart=False
Limits.SleepDelayMinutes=5
Limits.DozeDelay=2
Limits.AutoRetryCount=5
Limits.SleepStartThresholdSeconds=25

168
openrct2config.ini Normal file
View File

@ -0,0 +1,168 @@
[general]
always_show_gridlines = false
autosave = 1
autosave_amount = 10
confirmation_prompt = false
currency_format = GBP
custom_currency_rate = 10
custom_currency_affix = SUFFIX
custom_currency_symbol = "Ctm"
edge_scrolling = true
edge_scrolling_speed = 12
fullscreen_mode = 0
fullscreen_height = -1
fullscreen_width = -1
rct1_path = ""
game_path = ""
landscape_smoothing = true
language = 0
measurement_format = METRIC
play_intro = false
save_plugin_data = true
debugging_tools = false
show_height_as_units = false
temperature_format = CELSIUS
window_height = -1
window_snap_proximity = 5
window_width = -1
default_display = 0
drawing_engine = SOFTWARE
uncap_fps = false
use_vsync = true
date_format = DD/MM/YY
auto_staff = true
handymen_mow_default = false
default_inspection_interval = 2
last_run_version = "0.4.6"
invert_viewport_drag = false
load_save_sort = NAME_ASCENDING
minimize_fullscreen_focus_loss = true
disable_screensaver = true
day_night_cycle = false
enable_light_fx = false
enable_light_fx_for_vehicles = false
upper_case_banners = false
disable_lightning_effect = false
steam_overlay_pause = true
window_scale = 1.000000
show_fps = false
multithreading = true
trap_cursor = false
auto_open_shops = false
scenario_select_mode = 1
scenario_unlocking_enabled = true
scenario_hide_mega_park = true
last_game_directory = ""
last_landscape_directory = ""
last_scenario_directory = ""
last_track_directory = ""
use_native_browse_dialog = false
window_limit = 64
zoom_to_cursor = true
render_weather_effects = true
render_weather_gloom = true
show_guest_purchases = false
show_real_names_of_guests = true
allow_early_completion = false
asset_pack_order = ""
enabled_asset_packs = ""
virtual_floor_style = GLASSY
transparent_screenshot = true
transparent_water = true
invisible_rides = false
invisible_vehicles = false
invisible_trees = false
invisible_scenery = false
invisible_paths = false
invisible_supports = true
last_version_check_time = 1693919676
[interface]
toolbar_show_finances = true
toolbar_show_research = true
toolbar_show_cheats = false
toolbar_show_news = false
toolbar_show_mute = false
toolbar_show_chat = false
toolbar_show_zoom = true
console_small_font = false
current_theme = "*RCT2"
current_title_sequence = "*OPENRCT2"
random_title_sequence = false
object_selection_filter_flags = 16383
scenarioselect_last_tab = 0
list_ride_vehicles_separately = false
window_buttons_on_the_left = false
[sound]
audio_device = ""
master_sound = true
master_volume = 100
title_theme = 2
sound = true
sound_volume = 100
ride_music = true
ride_music_volume = 100
audio_focus = false
[network]
player_name = "Server"
default_port = 11753
listen_address = ""
default_password = ""
stay_connected = true
advertise = true
advertise_address = ""
maxplayers = 16
server_name = "AMP Powered OpenRCT2 Server"
server_description = ""
server_greeting = ""
master_server_url = ""
provider_name = ""
provider_email = ""
provider_website = ""
known_keys_only = false
log_chat = false
log_server_actions = false
pause_server_if_no_clients = false
desync_debugging = false
[notifications]
park_award = true
park_marketing_campaign_finished = true
park_warnings = true
park_rating_warnings = true
ride_broken_down = true
ride_crashed = true
ride_casualties = true
ride_warnings = true
ride_researched = true
ride_stalled_vehicles = true
guest_warnings = true
guest_left_park = true
guest_queuing_for_ride = true
guest_on_ride = true
guest_left_ride = true
guest_bought_item = true
guest_used_facility = true
guest_died = true
[font]
file_name = ""
font_name = ""
x_offset = 0
y_offset = 1
size_tiny = 1
size_small = 0
size_medium = 0
size_big = 0
height_tiny = 0
height_small = 0
height_medium = 0
height_big = 0
enable_hinting = true
hinting_threshold = 0
[plugin]
enable_hot_reloading = false
allowed_hosts = ""

453
openrct2config.json Normal file
View File

@ -0,0 +1,453 @@
[
{
"DisplayName":"Game Port",
"Category":"OpenRCT2 Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"$GamePort",
"InputType":"number",
"Hidden":true,
"ParamFieldName":"network.default_port",
"EnumValues":{}
},
{
"DisplayName":"Player Name",
"Category":"OpenRCT2 Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"player_name",
"InputType":"text",
"Hidden":true,
"ParamFieldName":"network.player_name",
"DefaultValue":"Server",
"EnumValues":{}
},
{
"DisplayName":"Advertise Address",
"Category":"OpenRCT2 Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"$ExternalIP",
"InputType":"text",
"Hidden":true,
"ParamFieldName":"network.advertise_address",
"EnumValues":{}
},
{
"DisplayName":"Host Mode",
"Category":"OpenRCT2 Server Settings",
"Description":"Sets whether the server will load a scenario (essentially creating a new game) or load an existing savegame instead. Specify \"Scenario\" or \"Savegame\" accordingly",
"Keywords":"host,mode,scenario,savegame",
"FieldName":"HostMode",
"InputType":"enum",
"ParamFieldName":"HostMode",
"DefaultValue":"host \"{{Scenario}}\"",
"EnumValues":{
"host \"{{Scenario}}\"":"Load Scenario",
"host \"./user-data/save/{{Savegame}}\"":"Load Savegame"
}
},
{
"DisplayName":"Scenario",
"Category":"OpenRCT2 Server Settings",
"Description":"Set the scenario to load. \"Load Scenario\" must also be selected under Host Mode, and if \"Custom\" is selected, Custom Scenario must also be specified. You can then stop the server and load the relevant savegame by switching Host Mode",
"Keywords":"scenario,host",
"FieldName":"Scenario",
"InputType":"enum",
"ParamFieldName":"Scenario",
"DefaultValue":"./rct2game/Scenarios/Crazy Castle.SC6",
"EnumValues":{
"./rct2game/Scenarios/Africa - African Diamond Mine.SC6":"RCT2: Africa - African Diamond Mine",
"./rct2game/Scenarios/Africa - Oasis.SC6":"RCT2: Africa - Oasis",
"./rct2game/Scenarios/Africa - Victoria Falls.SC6":"RCT2: Africa - Victoria Falls",
"./rct2game/Scenarios/Alpine Adventures.SC6":"RCT2: Alpine Adventures",
"./rct2game/Scenarios/Amity Airfield.SC6":"RCT2: Amity Airfield",
"./rct2game/Scenarios/Antarctic - Ecological Salvage.SC6":"RCT2: Antarctic - Ecological Salvage",
"./rct2game/Scenarios/Asia - Great Wall of China Tourism Enhancement.SC6":"RCT2: Asia - Great Wall of China Tourism Enhancement",
"./rct2game/Scenarios/Asia - Japanese Coastal Reclaim.SC6":"RCT2: Asia - Japanese Coastal Reclaim",
"./rct2game/Scenarios/Asia - Maharaja Palace.SC6":"RCT2: Asia - Maharaja Palace",
"./rct2game/Scenarios/Australasia - Ayers Rock.SC6":"RCT2: Australasia - Ayers Rock",
"./rct2game/Scenarios/Australasia - Fun at the Beach.SC6":"RCT2: Australasia - Fun at the Beach",
"./rct2game/Scenarios/Botany Breakers.SC6":"RCT2: Botany Breakers",
"./rct2game/Scenarios/Build your own Six Flags Belgium.SC6":"RCT2: Build your own Six Flags Belgium",
"./rct2game/Scenarios/Build your own Six Flags Great Adventure.SC6":"RCT2: Build your own Six Flags Great Adventure",
"./rct2game/Scenarios/Build your own Six Flags Holland.SC6":"RCT2: Build your own Six Flags Holland",
"./rct2game/Scenarios/Build your own Six Flags Magic Mountain.SC6":"RCT2: Build your own Six Flags Magic Mountain",
"./rct2game/Scenarios/Build your own Six Flags over Texas.SC6":"RCT2: Build your own Six Flags over Texas",
"./rct2game/Scenarios/Build your own Six Flags Park.SC6":"RCT2: Build your own Six Flags Park",
"./rct2game/Scenarios/Bumbly Bazaar.SC6":"RCT2: Bumbly Bazaar",
"./rct2game/Scenarios/Crazy Castle.SC6":"RCT2: Crazy Castle (default)",
"./rct2game/Scenarios/Dark Age - Castle.SC6":"RCT2: Dark Age - Castle",
"./rct2game/Scenarios/Dark Age - Robin Hood.SC6":"RCT2: Dark Age - Robin Hood",
"./rct2game/Scenarios/Dusty Greens.SC6":"RCT2: Dusty Greens",
"./rct2game/Scenarios/Electric Fields.SC6":"RCT2: Electric Fields",
"./rct2game/Scenarios/Europe - European Cultural Festival.SC6":"RCT2: Europe - European Cultural Festival",
"./rct2game/Scenarios/Europe - Renovation.SC6":"RCT2: Europe - Renovation",
"./rct2game/Scenarios/Extreme Heights.SC6":"RCT2: Extreme Heights",
"./rct2game/Scenarios/Factory Capers.SC6":"RCT2: Factory Capers",
"./rct2game/Scenarios/Fungus Woods.SC6":"RCT2: Fungus Woods",
"./rct2game/Scenarios/Future - First Encounters.SC6":"RCT2: Future - First Encounters",
"./rct2game/Scenarios/Future - Future World.SC6":"RCT2: Future - Future World",
"./rct2game/Scenarios/Ghost Town.SC6":"RCT2: Ghost Town",
"./rct2game/Scenarios/Gravity Gardens.SC6":"RCT2: Gravity Gardens",
"./rct2game/Scenarios/Infernal Views.SC6":"RCT2: Infernal Views",
"./rct2game/Scenarios/Lucky Lake.SC6":"RCT2: Lucky Lake",
"./rct2game/Scenarios/Mythological - Animatronic Film Set.SC6":"RCT2: Mythological - Animatronic Film Set",
"./rct2game/Scenarios/Mythological - Cradle of Civilization.SC6":"RCT2: Mythological - Cradle of Civilization",
"./rct2game/Scenarios/N America - Extreme Hawaiian Island.SC6":"RCT2: North America - Extreme Hawaiian Island",
"./rct2game/Scenarios/North America - Grand Canyon.SC6":"RCT2: North America - Grand Canyon",
"./rct2game/Scenarios/North America - Rollercoaster Heaven.SC6":"RCT2: North America - Rollercoaster Heaven",
"./rct2game/Scenarios/Prehistoric - After the Asteroid.SC6":"RCT2: Prehistoric - After the Asteroid",
"./rct2game/Scenarios/Prehistoric - Jurassic Safari.SC6":"RCT2: Prehistoric - Jurassic Safari",
"./rct2game/Scenarios/Prehistoric - Stone Age.SC6":"RCT2: Prehistoric - Stone Age",
"./rct2game/Scenarios/Rainbow Summit.SC6":"RCT2: Rainbow Summit",
"./rct2game/Scenarios/Roaring Twenties - Prison Island.SC6":"RCT2: Roaring Twenties - Prison Island",
"./rct2game/Scenarios/Roaring Twenties - Schneider Cup.SC6":"RCT2: Roaring Twenties - Schneider Cup",
"./rct2game/Scenarios/Roaring Twenties - Skyscrapers.SC6":"RCT2: Roaring Twenties - Skyscrapers",
"./rct2game/Scenarios/Rock 'n' Roll - Flower Power.SC6":"RCT2: Rock 'n' Roll - Flower Power",
"./rct2game/Scenarios/Rock 'n' Roll - Rock 'n' Roll.SC6":"RCT2: Rock 'n' Roll - Rock 'n' Roll",
"./rct2game/Scenarios/Six Flags Belgium.SC6":"RCT2: Six Flags Belgium",
"./rct2game/Scenarios/Six Flags Great Adventure.SC6":"RCT2: Six Flags Great Adventure",
"./rct2game/Scenarios/Six Flags Holland.SC6":"RCT2: Six Flags Holland",
"./rct2game/Scenarios/Six Flags Magic Mountain.SC6":"RCT2: Six Flags Magic Mountain",
"./rct2game/Scenarios/Six Flags over Texas.SC6":"RCT2: Six Flags over Texas",
"./rct2game/Scenarios/South America - Inca Lost City.SC6":"RCT2: South America - Inca Lost City",
"./rct2game/Scenarios/South America - Rain Forest Plateau.SC6":"RCT2: South America - Rain Forest Plateau",
"./rct2game/Scenarios/South America - Rio Carnival.SC6":"RCT2: South America - Rio Carnival",
"./rct1game/Scenarios/SC60.SC4":"RCT1: Adrenaline Heights",
"./rct1game/Scenarios/ALTON1.SC4":"RCT1: Alton Towers",
"./rct1game/Scenarios/SC24.SC4":"RCT1: Arid Heights",
"./rct1game/Scenarios/SC43.SC4":"RCT1: Barony Bridge",
"./rct1game/Scenarios/BPB1.SC4":"RCT1: Blackpool Pleasure Beach",
"./rct1game/Scenarios/sc5.sc4":"RCT1: Bumbly Beach",
"./rct1game/Scenarios/SC54.SC4":"RCT1: Butterfly Dam",
"./rct1game/Scenarios/SC42.SC4":"RCT1: Canary Mines",
"./rct1game/Scenarios/SC55.SC4":"RCT1: Coaster Canyon",
"./rct1game/Scenarios/SC67.SC4":"RCT1: Coaster Crazy",
"./rct1game/Scenarios/SC26.SC4":"RCT1: Crater Lake",
"./rct1game/Scenarios/SC81.SC4":"RCT1: Crazy Craters",
"./rct1game/Scenarios/sc15.sc4":"RCT1: Crumbly Woods",
"./rct1game/Scenarios/sc3.sc4":"RCT1: Diamond Heights",
"./rct1game/Scenarios/SC29.SC4":"RCT1: Dragon's Cove",
"./rct1game/Scenarios/SC82.SC4":"RCT1: Dusty Desert",
"./rct1game/Scenarios/sc1.sc4":"RCT1: Dynamite Dunes",
"./rct1game/Scenarios/sc4.sc4":"RCT1: Evergreen Gardens",
"./rct1game/Scenarios/SC63.SC4":"RCT1: Fiasco Forest",
"./rct1game/Scenarios/sc0.sc4":"RCT1: Forest Frontiers",
"./rct1game/Scenarios/FORT1.SC4":"RCT1: Fort Anachronism",
"./rct1game/Scenarios/SC86.SC4":"RCT1: Frightmare Hills",
"./rct1game/Scenarios/SC53.SC4":"RCT1: Fruit Farm",
"./rct1game/Scenarios/SC46.SC4":"RCT1: Fun Fortress",
"./rct1game/Scenarios/SC44.SC4":"RCT1: Funtopia",
"./rct1game/Scenarios/SC47.SC4":"RCT1: Future World",
"./rct1game/Scenarios/SC48.SC4":"RCT1: Gentle Glen",
"./rct1game/Scenarios/SC69.SC4":"RCT1: Geoffrey Gardens",
"./rct1game/Scenarios/SC65.SC4":"RCT1: Giggle Downs",
"./rct1game/Scenarios/SC30.SC4":"RCT1: Good Knight Park",
"./rct1game/Scenarios/SC80.SC4":"RCT1: Grand Glacier",
"./rct1game/Scenarios/SC57.SC4":"RCT1: Harmonic Hills",
"./rct1game/Scenarios/SC45.SC4":"RCT1: Haunted Harbour",
"./rct1game/Scenarios/HEIDE.SC4":"RCT1: Heide-Park",
"./rct1game/Scenarios/SC50.SC4":"RCT1: Hydro Hills",
"./rct1game/Scenarios/SC84.SC4":"RCT1: Icarus Park",
"./rct1game/Scenarios/SC22.SC4":"RCT1: Iceberg Islands",
"./rct1game/Scenarios/SC90.SC4":"RCT1: Icicle Worlds",
"./rct1game/Scenarios/sc18.sc4":"RCT1: Ivory Towers",
"./rct1game/Scenarios/SC49.SC4":"RCT1: Jelly Jungle",
"./rct1game/Scenarios/sc11.sc4":"RCT1: Karts & Coasters",
"./rct1game/Scenarios/sc7.sc4":"RCT1: Katie's Dreamland",
"./rct1game/Scenarios/sc2.sc4":"RCT1: Leafy Lake",
"./rct1game/Scenarios/sc17.sc4":"RCT1: Lightning Peaks",
"./rct1game/Scenarios/SC52.SC4":"RCT1: Magic Quarters",
"./rct1game/Scenarios/SC97.SC4":"RCT1: Megaworld Park",
"./rct1game/Scenarios/sc12.sc4":"RCT1: Mel's World",
"./rct1game/Scenarios/SC99.SC4":"RCT1: Micro Park",
"./rct1game/Scenarios/sc10.sc4":"RCT1: Millennium Mines",
"./rct1game/Scenarios/SC66.SC4":"RCT1: Mineral Park",
"./rct1game/Scenarios/sc13.sc4":"RCT1: Mystic Mountain",
"./rct1game/Scenarios/SC93.SC4":"RCT1: Nevermore Park",
"./rct1game/Scenarios/SC88.SC4":"RCT1: Octagon Park",
"./rct1game/Scenarios/sc14.sc4":"RCT1: Pacific Pyramids",
"./rct1game/Scenarios/SC94.SC4":"RCT1: Pacifica",
"./rct1game/Scenarios/sc16.sc4":"RCT1: Paradise Pier",
"./rct1game/Scenarios/SC28.SC4":"RCT1: Paradise Pier 2",
"./rct1game/Scenarios/SC64.SC4":"RCT1: Pickle Park",
"./rct1game/Scenarios/SC89.SC4":"RCT1: Pleasure Island",
"./rct1game/Scenarios/sc8.sc4":"RCT1: Pokey Park",
"./rct1game/Scenarios/sc19.sc4":"RCT1: Rainbow Valley",
"./rct1game/Scenarios/SC25.SC4":"RCT1: Razor Rocks",
"./rct1game/Scenarios/SC58.SC4":"RCT1: Roman Village",
"./rct1game/Scenarios/SC62.SC4":"RCT1: Rotting Heights",
"./rct1game/Scenarios/SC91.SC4":"RCT1: Southern Sands",
"./rct1game/Scenarios/SC51.SC4":"RCT1: Sprightly Park",
"./rct1game/Scenarios/SC85.SC4":"RCT1: Sunny Swamps",
"./rct1game/Scenarios/SC59.SC4":"RCT1: Swamp Cove",
"./rct1game/Scenarios/SC96.SC4":"RCT1: Terror Town",
"./rct1game/Scenarios/SC41.SC4":"RCT1: Three Monkeys Park",
"./rct1game/Scenarios/sc20.sc4":"RCT1: Thunder Rock",
"./rct1game/Scenarios/SC87.SC4":"RCT1: Thunder Rocks",
"./rct1game/Scenarios/SC56.SC4":"RCT1: Thunderstorm Park",
"./rct1game/Scenarios/SC92.SC4":"RCT1: Tiny Towers",
"./rct1game/Scenarios/sc6.sc4":"RCT1: Trinity Islands",
"./rct1game/Scenarios/SC68.SC4":"RCT1: Urban Park",
"./rct1game/Scenarios/SC95.SC4":"RCT1: Urban Jungle",
"./rct1game/Scenarios/SC61.SC4":"RCT1: Utopia",
"./rct1game/Scenarios/SC98.SC4":"RCT1: Venus Ponds",
"./rct1game/Scenarios/SC27.SC4":"RCT1: Vertigo Views",
"./rct1game/Scenarios/SC23.SC4":"RCT1: Volcania",
"./rct1game/Scenarios/SC31.SC4":"RCT1: Wacky Warren",
"./rct1game/Scenarios/SC40.SC4":"RCT1: Whispering Cliffs",
"./rct1game/Scenarios/sc9.sc4":"RCT1: White Water Park",
"./rct1game/Scenarios/SC83.SC4":"RCT1: Woodworm Park",
"./user-data/scenario/{{CustomScenario}}":"--Custom--"
}
},
{
"DisplayName":"Custom Scenario",
"Category":"OpenRCT2 Server Settings",
"Description":"Sets a custom scenario to use for the Scenario, if \"Custom\" is selected. The custom scenario file must be in user-data/scenario",
"Keywords":"custom,scenario",
"FieldName":"CustomScenario",
"InputType":"text",
"ParamFieldName":"CustomScenario",
"IncludeInCommandLine":false,
"DefaultValue":"",
"Placeholder":"Banshee Mountain.sc6",
"EnumValues":{}
},
{
"DisplayName":"Savegame",
"Category":"OpenRCT2 Server Settings",
"Description":"Sets the name of the savegame to load from user-data/save. \"Load Savegame\" must also be selected under Host Mode",
"Keywords":"savegame,save",
"FieldName":"Savegame",
"InputType":"text",
"ParamFieldName":"Savegame",
"DefaultValue":"",
"Placeholder":"mysave.park",
"EnumValues":{}
},
{
"DisplayName":"Server Name",
"Category":"OpenRCT2 Server Settings",
"Description":"Sets the name of the server as shown publicly",
"Keywords":"server,name,server_name",
"FieldName":"server_name",
"InputType":"text",
"ParamFieldName":"network.server_name",
"DefaultValue":"AMP Powered OpenRCT2 Server",
"Placeholder":"AMP Powered OpenRCT2 Server",
"EnumValues":{}
},
{
"DisplayName":"Server Description",
"Category":"OpenRCT2 Server Settings",
"Description":"Sets the description for the server as shown publiclly",
"Keywords":"server,description,server_description",
"FieldName":"server_description",
"InputType":"text",
"ParamFieldName":"network.server_description",
"DefaultValue":"",
"EnumValues":{}
},
{
"DisplayName":"Welcome Message",
"Category":"OpenRCT2 Server Settings",
"Description":"Sets the welcome message shown to clients when connecting",
"Keywords":"motd,welcome,message,server,greeting,server_greeting",
"FieldName":"server_greeting",
"InputType":"text",
"ParamFieldName":"network.server_greeting",
"DefaultValue":"",
"Placeholder":"",
"EnumValues":{}
},
{
"DisplayName":"Server Password",
"Category":"OpenRCT2 Server Settings",
"Description":"Sets the password for players to join the server. Default is no password",
"Keywords":"server,password",
"FieldName":"default_password",
"InputType":"password",
"IsFlagArgument":false,
"ParamFieldName":"network.default_password",
"DefaultValue":"",
"EnumValues":{}
},
{
"DisplayName":"Advertise Server",
"Category":"OpenRCT2 Server Settings",
"Description":"If enabled, the server will be able to be advertised on the master server list",
"Keywords":"advertise,advertising,public,server,list",
"FieldName":"advertise",
"InputType":"checkbox",
"ParamFieldName":"network.advertise",
"DefaultValue":"true",
"EnumValues":{
"False":"false",
"True":"true"
}
},
{
"DisplayName":"Master Server URL",
"Category":"OpenRCT2 Server Settings",
"Description":"Sets the URL of the master server for server registration",
"Keywords":"master,server,url,masterserverurl",
"FieldName":"master_server_url",
"InputType":"url",
"ParamFieldName":"network.master_server_url",
"DefaultValue":"https://servers.openrct2.io",
"Placeholder":"https://servers.openrct2.io",
"EnumValues":{}
},
{
"DisplayName":"Server Admins",
"Category":"OpenRCT2 Server Settings",
"Description":"To create at least the first server admin, edit server-data/users.json and create an entry with Group 0 for the relevant user. Obtain the hash and name for that user from their public key on the client. Other admins can be added this way as well, or the first admin can assign admin permissions to them in-game",
"Keywords":"admins",
"FieldName":"Admins",
"InputType":"hidden",
"ParamFieldName":"Admins",
"EnumValues":{}
},
{
"DisplayName":"Player Limit",
"Category":"OpenRCT2 Server Settings",
"Description":"Sets the maximum number of players that may connect to the server at one time",
"Keywords":"maximum,max,players,limit,maxplayers",
"FieldName":"maxplayers",
"InputType":"number",
"ParamFieldName":"network.maxplayers",
"DefaultValue":"16",
"Placeholder":"16",
"Suffix":"players",
"EnumValues":{}
},
{
"DisplayName":"Allow Known Keys Only",
"Category":"OpenRCT2 Server Settings",
"Description":"If enabled, only connections from clients with known encryption keys will be allowed",
"Keywords":"known,keys,only,knownkeysonly",
"FieldName":"known_keys_only",
"InputType":"checkbox",
"ParamFieldName":"network.known_keys_only",
"DefaultValue":"false",
"EnumValues":{
"False":"false",
"True":"true"
}
},
{
"DisplayName":"Pause Server When Empty",
"Category":"OpenRCT2 Server Settings",
"Description":"If enabled, the server will be paused if no clients are connected",
"Keywords":"pause,server,clients,pause_server_if_no_clients",
"FieldName":"pause_server_if_no_clients",
"InputType":"checkbox",
"ParamFieldName":"network.pause_server_if_no_clients",
"DefaultValue":"false",
"EnumValues":{
"False":"false",
"True":"true"
}
},
{
"DisplayName":"Autosave Interval",
"Category":"OpenRCT2 Server Settings",
"Description":"Sets how often the server autosaves",
"Keywords":"autosave,interval",
"FieldName":"autosave",
"InputType":"enum",
"ParamFieldName":"general.autosave",
"DefaultValue":"1",
"EnumValues":{
"0":"Every minute",
"1":"Every 5 minutes (default)",
"2":"Every 15 minutes",
"3":"Every 30 minutes",
"4":"Every hour",
"5":"Never"
}
},
{
"DisplayName":"Autosave Limit",
"Category":"OpenRCT2 Server Settings",
"Description":"Sets the maximum number of autosaves to retain",
"Keywords":"save,autosave,limit,count,autosave_amount",
"FieldName":"autosave_amount",
"InputType":"checkbox",
"ParamFieldName":"general.autosave_amount",
"DefaultValue":"false",
"EnumValues":{
"False":"false",
"True":"true"
}
},
{
"DisplayName":"Stay Connected On Desync",
"Category":"OpenRCT2 Server Settings",
"Description":"If enabled, clients will remain connected to the server, even if an error/desync occurs",
"Keywords":"stay,connected,desync,stay_connected",
"FieldName":"stay_connected",
"InputType":"checkbox",
"ParamFieldName":"network.stay_connected",
"DefaultValue":"true",
"EnumValues":{
"False":"false",
"True":"true"
}
},
{
"DisplayName":"Enable Desync Debugging",
"Category":"OpenRCT2 Server Settings",
"Description":"If set, debugging for desync issues will be enabled",
"Keywords":"desync,debugging,desync_debugging",
"FieldName":"desync_debugging",
"InputType":"checkbox",
"ParamFieldName":"network.desync_debugging",
"DefaultValue":"false",
"EnumValues":{
"False":"false",
"True":"true"
}
},
{
"DisplayName":"Log Chat",
"Category":"OpenRCT2 Server Settings",
"Description":"If enabled, chat messages will be logged",
"Keywords":"log,logging,chat,log_chat",
"FieldName":"log_chat",
"InputType":"checkbox",
"ParamFieldName":"network.log_chat",
"DefaultValue":"false",
"EnumValues":{
"False":"false",
"True":"true"
}
},
{
"DisplayName":"Log Server Actions",
"Category":"OpenRCT2 Server Settings",
"Description":"If enabled, server actions will be logged",
"Keywords":"log,logging,server,actions,log_server_actions",
"FieldName":"log_server_actions",
"InputType":"checkbox",
"ParamFieldName":"network.log_server_actions",
"DefaultValue":"false",
"EnumValues":{
"False":"false",
"True":"true"
}
},
{
"DisplayName":"Server IP Binding",
"Category":"OpenRCT2 Server Settings",
"Description":"If required, you can change the IP binding of the server by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Default is 0.0.0.0 (all IPs). Stop the instance (not just the server) first",
"Keywords":"ip,binding,listen,address,listen_address",
"FieldName":"$ApplicationIPBinding",
"InputType":"hidden",
"ParamFieldName":"network.listen_address",
"IncludeInCommandLine":false,
"EnumValues":{}
}
]

63
openrct2groups.json Normal file
View File

@ -0,0 +1,63 @@
{
"default_group": 2,
"groups": [
{
"id": 0,
"name": "Admin",
"permissions": [
"PERMISSION_CHAT",
"PERMISSION_TERRAFORM",
"PERMISSION_SET_WATER_LEVEL",
"PERMISSION_TOGGLE_PAUSE",
"PERMISSION_CREATE_RIDE",
"PERMISSION_REMOVE_RIDE",
"PERMISSION_BUILD_RIDE",
"PERMISSION_RIDE_PROPERTIES",
"PERMISSION_SCENERY",
"PERMISSION_PATH",
"PERMISSION_CLEAR_LANDSCAPE",
"PERMISSION_GUEST",
"PERMISSION_STAFF",
"PERMISSION_PARK_PROPERTIES",
"PERMISSION_PARK_FUNDING",
"PERMISSION_KICK_PLAYER",
"PERMISSION_MODIFY_GROUPS",
"PERMISSION_SET_PLAYER_GROUP",
"PERMISSION_CHEAT",
"PERMISSION_TOGGLE_SCENERY_CLUSTER",
"PERMISSION_PASSWORDLESS_LOGIN",
"PERMISSION_MODIFY_TILE",
"PERMISSION_EDIT_SCENARIO_OPTIONS"
]
},
{
"id": 1,
"name": "Spectator",
"permissions": [
"PERMISSION_CHAT"
]
},
{
"id": 2,
"name": "User",
"permissions": [
"PERMISSION_CHAT",
"PERMISSION_TERRAFORM",
"PERMISSION_SET_WATER_LEVEL",
"PERMISSION_TOGGLE_PAUSE",
"PERMISSION_CREATE_RIDE",
"PERMISSION_REMOVE_RIDE",
"PERMISSION_BUILD_RIDE",
"PERMISSION_RIDE_PROPERTIES",
"PERMISSION_SCENERY",
"PERMISSION_PATH",
"PERMISSION_CLEAR_LANDSCAPE",
"PERMISSION_GUEST",
"PERMISSION_STAFF",
"PERMISSION_PARK_PROPERTIES",
"PERMISSION_PARK_FUNDING",
"PERMISSION_TOGGLE_SCENERY_CLUSTER"
]
}
]
}

16
openrct2metaconfig.json Normal file
View File

@ -0,0 +1,16 @@
[
{
"ConfigFile":"user-data/config.ini",
"AutoMap":true,
"ConfigType":"ini",
"ConfigFormat":"{0} = \"{1}\"",
"ConfigFormatRegex":"^(?<key>.+?) = \"(?<value>.*?)\"$"
},
{
"ConfigFile":"user-data/config.ini",
"AutoMap":true,
"ConfigType":"ini",
"ConfigFormat":"{0} = {1}",
"ConfigFormatRegex":"^(?<key>.+?) = (?<value>[^\"]*?)$"
}
]

86
openrct2updates.json Normal file
View File

@ -0,0 +1,86 @@
[
{
"UpdateStageName":"User Data Directory Creation",
"UpdateSourcePlatform":"All",
"UpdateSource":"CreateDirectory",
"UpdateSourceArgs":"{{$FullBaseDir}}user-data"
},
{
"UpdateStageName":"RCT2 Game Files Directory Creation",
"UpdateSourcePlatform":"All",
"UpdateSource":"CreateDirectory",
"UpdateSourceArgs":"{{$FullBaseDir}}rct2game"
},
{
"UpdateStageName":"RCT1 Game Files Directory Creation",
"UpdateSourcePlatform":"All",
"UpdateSource":"CreateDirectory",
"UpdateSourceArgs":"{{$FullBaseDir}}rct1game"
},
{
"UpdateStageName":"OpenRCT2 Download",
"UpdateSourcePlatform":"Windows",
"UpdateSource":"GithubRelease",
"UpdateSourceData":"OpenRCT2-{{ReleaseVersion}}-windows-portable-x64.zip",
"UpdateSourceArgs":"OpenRCT2/OpenRCT2",
"UpdateSourceTarget":"{{$FullBaseDir}}",
"UnzipUpdateSource":true,
"OverwriteExistingFiles":true,
"DeleteAfterExtract":true
},
{
"UpdateStageName":"OpenRCT2 Download",
"UpdateSourcePlatform":"Linux",
"UpdateSource":"GithubRelease",
"UpdateSourceData":"OpenRCT2-{{ReleaseVersion}}-linux-x86_64.AppImage",
"UpdateSourceArgs":"OpenRCT2/OpenRCT2",
"UpdateSourceTarget":"{{$FullBaseDir}}",
"UnzipUpdateSource":false,
"OverwriteExistingFiles":true
},
{
"UpdateStageName":"OpenRCT2 Extract",
"UpdateSourcePlatform":"Linux",
"UpdateSource":"Executable",
"UpdateSourceData":"/bin/bash",
"UpdateSourceArgs":"-c 'cd ./openrct2/server/ && chmod +x OpenRCT2-{{ReleaseVersion}}-linux-x86_64.AppImage && ./OpenRCT2-{{ReleaseVersion}}-linux-x86_64.AppImage --appimage-extract && rm -f OpenRCT2-{{ReleaseVersion}}-linux-x86_64.AppImage'"
},
{
"UpdateStageName":"RCT2 Game Files Download",
"UpdateSourcePlatform":"All",
"UpdateSource":"SteamCMD",
"UpdateSourceData":"285330",
"UpdateSourceTarget":"{{$FullBaseDir}}rct2game",
"ForceDownloadPlatform":"Windows",
"UpdateSourceConditionSetting":"DisableRCT2Download",
"UpdateSourceConditionValue":"false"
},
{
"UpdateStageName":"RCT1 Game Files Download",
"UpdateSourcePlatform":"All",
"UpdateSource":"SteamCMD",
"UpdateSourceData":"285310",
"UpdateSourceTarget":"{{$FullBaseDir}}rct1game",
"ForceDownloadPlatform":"Windows",
"UpdateSourceConditionSetting":"DisableRCT1Download",
"UpdateSourceConditionValue":"false"
},
{
"UpdateStageName":"Config.ini File Download",
"UpdateSourcePlatform":"All",
"UpdateSource":"FetchURL",
"UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/openrct2config.ini",
"UpdateSourceArgs":"config.ini",
"UpdateSourceTarget":"{{$FullBaseDir}}user-data",
"OverwriteExistingFiles":false
},
{
"UpdateStageName":"Groups.json File Download",
"UpdateSourcePlatform":"All",
"UpdateSource":"FetchURL",
"UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/openrct2groups.json",
"UpdateSourceArgs":"groups.json",
"UpdateSourceTarget":"{{$FullBaseDir}}user-data",
"OverwriteExistingFiles":false
}
]