forked from Parkeymon/EXILED-SCP-SL-egg
-
Notifications
You must be signed in to change notification settings - Fork 0
/
SCP-SL-Exiled-Egg.json
93 lines (93 loc) · 11.3 KB
/
SCP-SL-Exiled-Egg.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-08-14T11:54:31-05:00",
"name": "SCP:SL EXILED Egg",
"author": "upwordstudent@gmail.com",
"description": "A customizable egg for the SCP: Secret Laboratory Dedicated Linux server builds.",
"features": null,
"docker_images": {
"esserlamp\/docker-scpsl": "quay.io\/esserlamp\/docker-scpsl:latest",
"parkeymon\/exiled-scpsl-image": "quay.io\/parkeymon\/exiled-scpsl-image:latest"
},
"file_denylist": [],
"startup": ".\/.egg\/start.sh {{SERVER_PORT}}",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Waiting for players..\"\r\n}",
"logs": "{}",
"stop": "exit"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\necho \"\r\n$(tput setaf 4) ____________________________ ______________\r\n$(tput setaf 4) \/ _____\/\\_ ___ \\______ \\ \/\\ \/ _____\/| |\r\n$(tput setaf 4) \\_____ \\ \/ \\ \\\/| ___\/ \\\/ \\_____ \\ | |\r\n$(tput setaf 4) \/ || \\___| | \/\\ \/ \\| |___\r\n$(tput setaf 4)\/_________\/ \\________\/____| \\\/ \/_________\/|________|\r\n$(tput setaf 1) ___ __ __ __\r\n$(tput setaf 1)| | ____ _______\/ |______ | | | | ___________\r\n$(tput setaf 1)| |\/ \\ \/ ___\/\\ __\\__ \\ | | | | _\/ __ \\_ __ |\r\n$(tput setaf 1)| | | |\\___ \\ | | \/ __ \\| |_| |_\\ ___\/| | \\\/\r\n$(tput setaf 1)|___|___|__\/______| |__| (______|____|____\/\\___ |__|\r\n$(tput setaf 0)\r\n\"\r\n\r\necho \"\r\n$(tput setaf 2)This installer was created by $(tput setaf 1)Parkeymon$(tput setaf 0) and maintained by EsserGaming.\r\n\"\r\n\r\n# Egg version checking, do not touch!\r\ncurrentVersion=\"2.5.6\"\r\nlatestVersion=$(curl --silent \"https:\/\/api.github.com\/repos\/EsserGaming\/EXILED-SCP-SL-egg\/releases\/latest\" | jq -r .tag_name)\r\n\r\nif [ \"${currentVersion}\" == \"${latestVersion}\" ]; then\r\n echo \"$(tput setaf 2)Installer is up to date\"\r\nelse\r\n\r\n echo \"\r\n $(tput setaf 1)THE INSTALLER IS NOT UP TO DATE!\r\n\r\n Current Version: $(tput setaf 1)${currentVersion}\r\n Latest: $(tput setaf 2)${latestVersion}\r\n\r\n $(tput setaf 3)Please update to the latest version found here: https:\/\/github.com\/EsserGaming\/EXILED-SCP-SL-egg\/releases\/latest\r\n $(tput setaf 4)Installation will start in 3 seconds...\r\n\r\n \"\r\n sleep 3\r\nfi\r\n\r\n# Download SteamCMD and Install\r\ncd \/tmp || {\r\n echo \"$(tput setaf 1) FAILED TO MOUNT TO \/TMP\"\r\n exit\r\n}\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd || {\r\n echo \"$(tput setaf 1) FAILED TO MOUNT TO \/mnt\/server\/steamcmd\"\r\n exit\r\n}\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\nif [ \"${BETA_TAG}\" == \"none\" ]; then\r\n .\/steamcmd.sh +force_install_dir \/mnt\/server +login anonymous +app_update \"${SRCDS_APPID}\" validate +quit\r\nelse\r\n .\/steamcmd.sh +force_install_dir \/mnt\/server +login anonymous +app_update \"${SRCDS_APPID}\" -beta ${BETA_TAG} validate +quit\r\nfi\r\n\r\n# Install SL with SteamCMD\r\ncd \/mnt\/server || {\r\n echo \"$(tput setaf 1) FAILED TO MOUNT TO \/mnt\/server\"\r\n exit\r\n}\r\n\r\n#Start egg configuration\r\nmkdir .egg\r\n\r\necho \"$(tput setaf 4)Configuring start.sh$(tput setaf 0)\"\r\nrm .\/.egg\/start.sh\r\ntouch \".\/.egg\/start.sh\"\r\nchmod +x .\/.egg\/start.sh\r\n\r\nif [ \"${INSTALL_DIBOT}\" == \"true\" ]; then\r\n echo \"#!\/bin\/bash\r\n .\/.egg\/DIBot\/DiscordIntegration.Bot > \/dev\/null &\r\n .\/LocalAdmin \\${SERVER_PORT}\" >>.\/.egg\/start.sh\r\n echo \"$(tput setaf 4)Finished configuring start.sh for LocalAdmin and Discord Integration.$(tput setaf 0)\"\r\n\r\nelif [ \"${INSTALL_SCPBOT}\" == \"true\" ]; then\r\n echo \"#!\/bin\/bash\r\n .\/.egg\/SCPDBot\/SCPDiscordBot_Linux --config .\/.egg\/SCPDBot\/config.yml &\r\n .\/LocalAdmin \\${SERVER_PORT}\" >>.\/.egg\/start.sh\r\n echo \"$(tput setaf 4)Finished configuring start.sh for LocalAdmin and SCPDiscord.$(tput setaf 0)\"\r\n\r\nelse\r\n echo \"#!\/bin\/bash\r\n .\/LocalAdmin \\${SERVER_PORT}\" >>.\/.egg\/start.sh\r\n echo \"$(tput setaf 4)Finished configuring start.sh for LocalAdmin.$(tput setaf 0)\"\r\n\r\nfi\r\n# Install Discord Integration Bot\r\nif [ \"${INSTALL_DIBOT}\" == \"true\" ]; then\r\n mkdir \/mnt\/server\/.egg\/DIBot\r\n echo \"Removing old Discord Integration\"\r\n rm \/mnt\/server\/.egg\/DIBot\/DiscordIntegration.Bot\r\n echo \"$(tput setaf 4)Installing latest Discord Integration bot version.\"\r\n wget -q https:\/\/github.com\/Exiled-Team\/DiscordIntegration\/releases\/latest\/download\/DiscordIntegration.Bot -P \/mnt\/server\/.egg\/DIBot\r\n\r\n chmod +x \/mnt\/server\/.egg\/DIBot\/DiscordIntegration.Bot\r\n\r\n# Install Discord Integration Plugin\r\n echo \"Installing Latest Discord Integration Plugin..\"\r\n\r\n echo \"Removing old Discord Integration\"\r\n rm \/mnt\/server\/.config\/EXILED\/Plugins\/DiscordIntegration.dll\r\n\r\n echo \"$(tput setaf 5)Grabbing plugin and dependencies.\"\r\n wget -q https:\/\/github.com\/Exiled-Team\/DiscordIntegration\/releases\/latest\/download\/Plugin.tar.gz -P \/mnt\/server\/.config\/EXILED\/Plugins\r\n\r\n echo \"Extracting...\"\r\n tar xzvf \/mnt\/server\/.config\/EXILED\/Plugins\/Plugin.tar.gz -C \/mnt\/server\/.config\/EXILED\/Plugins\r\n rm \/mnt\/server\/.config\/EXILED\/Plugins\/Plugin.tar.gz\r\n\r\nelse\r\n echo \"Skipping Discord Integration install.\"\r\nfi\r\n#Install SCPDiscord Bot\r\nif [ \"${INSTALL_SCPBOT}\" == \"true\" ]; then\r\n mkdir \/mnt\/server\/.egg\/SCPDBot\r\n\r\n echo \"Removing old SCPDiscord Bot\"\r\n rm \/mnt\/server\/.egg\/SCPDBot\/SCPDiscordBot_Linux\r\n\r\n echo \"$(tput setaf 4)Installing latest SCP Discord Bot.\"\r\n wget -q https:\/\/github.com\/KarlOfDuty\/SCPDiscord\/releases\/latest\/download\/SCPDiscordBot_Linux -P \/mnt\/server\/.egg\/SCPDBot\r\n\r\n chmod +x \/mnt\/server\/.egg\/SCPDBot\/SCPDiscordBot_Linux\r\n\r\n #Install SCPDiscord Plugin\r\n echo \"Removing old SCPDiscord Plugin\"\r\n rm '\/mnt\/server\/.config\/SCP Secret Laboratory\/PluginAPI\/plugins\/global\/SCPDiscord.dll'\r\n\r\n echo \"$(tput setaf 5)Grabbing plugin and dependencies.\"\r\n wget -q https:\/\/github.com\/KarlOfDuty\/SCPDiscord\/releases\/latest\/download\/dependencies.zip -P '\/mnt\/server\/.config\/SCP Secret Laboratory\/PluginAPI\/plugins\/global'\r\n wget -q https:\/\/github.com\/KarlOfDuty\/SCPDiscord\/releases\/latest\/download\/SCPDiscord.dll -P '\/mnt\/server\/.config\/SCP Secret Laboratory\/PluginAPI\/plugins\/global'\r\n\r\n\r\n echo \"Extracting dependencies...\"\r\n unzip -oq '\/mnt\/server\/.config\/SCP Secret Laboratory\/PluginAPI\/plugins\/global\/dependencies.zip' -d '\/mnt\/server\/.config\/SCP Secret Laboratory\/PluginAPI\/plugins\/global\/'\r\n rm '\/mnt\/server\/.config\/SCP Secret Laboratory\/PluginAPI\/plugins\/global\/dependencies.zip'\r\nelse\r\n echo \"Skipping SCPDiscord install.\"\r\nfi\r\n\r\nif [ \"${INSTALL_EXILED}\" == \"true\" ]; then\r\n echo \"$(tput setaf 4)Downloading $(tput setaf 1)EXILED$(tput setaf 0)..\"\r\n mkdir .config\/\r\n echo \"$(tput setaf 4)Downloading latest $(tput setaf 1)EXILED$(tput setaf 4) Installer\"\r\n rm Exiled.Installer-Linux\r\n wget -q https:\/\/github.com\/ExMod-Team\/EXILED\/releases\/latest\/download\/Exiled.Installer-Linux\r\n chmod +x .\/Exiled.Installer-Linux\r\n\r\n if [ \"${EXILED_PRE}\" == \"true\" ]; then\r\n echo \"$(tput setaf 4)Installing $(tput setaf 1)EXILED (pre-release)...\"\r\n .\/Exiled.Installer-Linux --pre-releases\r\n\r\n elif [ \"${EXILED_PRE}\" == \"false\" ]; then\r\n echo \"$(tput setaf 4)Installing $(tput setaf 1)EXILED$(tput setaf 0)...\"\r\n .\/Exiled.Installer-Linux\r\n\r\n else\r\n echo \"$(tput setaf 4)Installing $(tput setaf 1)EXILED$(tput setaf 0) version: ${EXILED_PRE} ..\"\r\n .\/Exiled.Installer-Linux --target-version \"${EXILED_PRE}\"\r\n\r\n fi\r\nelse\r\n echo \"Skipping Exiled installation.\"\r\nfi\r\n\r\n\r\n# Cleanup :p\r\necho \"$(tput setaf 2)Cleaning up..$(tput sgr 0)\"\r\nrm \/mnt\/server\/core\r\nrm \/mnt\/server\/Exiled.Installer-Linux\r\nrm -rf \/mnt\/server\/?\r\nrm -rf \/mnt\/server\/.local\r\nrm \/mnt\/server\/config-gameplay.txt\r\n\r\necho \"$(tput setaf 2)Installation Complete!$(tput sgr 0)\"",
"container": "quay.io\/esserlamp\/scpsl-install:latest",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "APPID",
"description": "This is the App ID for the game, don't touch this.",
"env_variable": "SRCDS_APPID",
"default_value": "996560",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "Beta Tag",
"description": "Set to \"none\" for no beta. For betas with passwords add \"-betapassword\" and add the password afterwards.",
"env_variable": "BETA_TAG",
"default_value": "none",
"user_viewable": true,
"user_editable": true,
"rules": "string|max:200",
"field_type": "text"
},
{
"name": "Install Exiled?",
"description": "Installs the latest EXILED release.",
"env_variable": "INSTALL_EXILED",
"default_value": "true",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "Use Exiled Pre-Releases?",
"description": "Allows you to install the latest Pre-Release of EXILED. To install a specific version replace the true\/false with the EXILED version number.",
"env_variable": "EXILED_PRE",
"default_value": "false",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "Install Discord Integration?",
"description": "This will install the Discord Integration Bot and Plugin. This will only work when EXILED is installed.",
"env_variable": "INSTALL_DIBOT",
"default_value": "false",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:5",
"field_type": "text"
},
{
"name": "Install SCP Discord?",
"description": "This will install the SCP Discord Bot and Plugin, it will use NWApi.",
"env_variable": "INSTALL_SCPBOT",
"default_value": "false",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:5",
"field_type": "text"
}
]
}