-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathegg-s-a-u-b.json
188 lines (188 loc) · 10 KB
/
egg-s-a-u-b.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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-12-08T01:26:19+01:00",
"name": "SAUB",
"author": "parker@parkervcp.com",
"description": "CS2 Server Automatic Updater Bot",
"features": null,
"docker_images": {
"Nodejs 20": "ghcr.io\/parkervcp\/yolks:nodejs_20",
"Nodejs 19": "ghcr.io\/parkervcp\/yolks:nodejs_19",
"Nodejs 18": "ghcr.io\/parkervcp\/yolks:nodejs_18",
"Nodejs 17": "ghcr.io\/parkervcp\/yolks:nodejs_17",
"Nodejs 16": "ghcr.io\/parkervcp\/yolks:nodejs_16",
"Nodejs 14": "ghcr.io\/parkervcp\/yolks:nodejs_14",
"Nodejs 12": "ghcr.io\/parkervcp\/yolks:nodejs_12"
},
"file_denylist": [],
"startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; if [[ ! -z ${NODE_PACKAGES} ]]; then \/usr\/local\/bin\/npm install ${NODE_PACKAGES}; fi; if [[ ! -z ${UNNODE_PACKAGES} ]]; then \/usr\/local\/bin\/npm uninstall ${UNNODE_PACKAGES}; fi; if [ -f \/home\/container\/package.json ]; then \/usr\/local\/bin\/npm install; fi; if [[ \"${MAIN_FILE}\" == \"*.js\" ]]; then \/usr\/local\/bin\/node \"\/home\/container\/${MAIN_FILE}\" ${NODE_ARGS}; else \/usr\/local\/bin\/ts-node --esm \"\/home\/container\/${MAIN_FILE}\" ${NODE_ARGS}; fi",
"config": {
"files": "{\r\n \"\/credentials.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"STEAM_API_KEY=\": \"STEAM_API_KEY=\\\"{{server.build.env.STEAM_API_KEY}}\\\"\",\r\n \"PANEL_API_KEY=\": \"PANEL_API_KEY=\\\"{{server.build.env.PANEL_API_KEY}}\\\"\",\r\n \"SERVER_UUIDS=\": \"SERVER_UUIDS=\\\"{{server.build.env.SERVER_ID}}\\\"\",\r\n \"DISCORD_WEBHOOK_URL=\": \"DISCORD_WEBHOOK_URL=\\\"{{server.build.env.WEBHOOK}}\\\"\",\r\n \"PANEL_DOMAIN=\": \"PANEL_DOMAIN=\\\"{{server.build.env.PANEL_DOMAIN}}\\\"\",\r\n \"PANEL_TYPE=\": \"PANEL_TYPE=\\\"{{server.build.env.PANEL_TYPE}}\\\"\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": [\r\n \"Started. Waiting to detect updates\"\r\n ]\r\n}",
"logs": "{}",
"stop": "^^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# NodeJS App Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git curl jq file unzip make gcc g++ python python-dev libtool\r\n\r\necho -e \"updating npm. please wait...\"\r\nnpm install npm@latest -g\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n echo -e \"assuming user knows what they are doing have a good day.\"\r\n exit 0\r\nfi\r\n\r\n## add git ending if it's not on the address\r\nif [[ ${GIT_ADDRESS} != *.git ]]; then\r\n GIT_ADDRESS=${GIT_ADDRESS}.git\r\nfi\r\n\r\nif [ -z \"${USERNAME}\" ] && [ -z \"${ACCESS_TOKEN}\" ]; then\r\n echo -e \"using anon api call\"\r\nelse\r\n GIT_ADDRESS=\"https:\/\/${USERNAME}:${ACCESS_TOKEN}@$(echo -e ${GIT_ADDRESS} | cut -d\/ -f3-)\"\r\nfi\r\n\r\n## pull git js repo\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"\/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \".git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"files found with no git config\"\r\n echo -e \"closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"${GIT_ADDRESS}\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n if [ -z ${BRANCH} ]; then\r\n echo -e \"cloning default branch\"\r\n git clone ${GIT_ADDRESS} .\r\n else\r\n echo -e \"cloning ${BRANCH}'\"\r\n git clone --single-branch --branch ${BRANCH} ${GIT_ADDRESS} .\r\n fi\r\n\r\nfi\r\n\r\necho \"Installing nodejs packages\"\r\nif [[ ! -z ${NODE_PACKAGES} ]]; then\r\n \/usr\/local\/bin\/npm install ${NODE_PACKAGES}\r\nfi\r\n\r\nif [ -f \/mnt\/server\/package.json ]; then\r\n \/usr\/local\/bin\/npm install --production\r\nfi\r\n\r\necho -e \"Downloading SAUB files from GitHub...\"\r\n\r\ncurl -o \/mnt\/server\/index.js https:\/\/raw.githubusercontent.com\/ghostcap-gaming\/SAUB-CS2-Server-Automatic-Update-Bot\/main\/index.js\r\n\r\ncurl -o \/mnt\/server\/credentials.cfg https:\/\/raw.githubusercontent.com\/ghostcap-gaming\/SAUB-CS2-Server-Automatic-Update-Bot\/main\/credentials.cfg\r\n\r\necho -e \"install complete\"\r\nexit 0",
"container": "node:18-bullseye-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "[DONT CHANGE] Git Repo Address",
"description": ".",
"env_variable": "GIT_ADDRESS",
"default_value": "",
"user_viewable": false,
"user_editable": false,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "[DONT CHANGE] Install Branch",
"description": ".",
"env_variable": "BRANCH",
"default_value": "",
"user_viewable": false,
"user_editable": false,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "[DONT CHANGE] User Uploaded Files",
"description": ".",
"env_variable": "USER_UPLOAD",
"default_value": "0",
"user_viewable": false,
"user_editable": false,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "[DONT CHANGE] Auto Update",
"description": ".",
"env_variable": "AUTO_UPDATE",
"default_value": "0",
"user_viewable": false,
"user_editable": false,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "[DONT CHANGE] Additional Node packages",
"description": ".",
"env_variable": "NODE_PACKAGES",
"default_value": "axios fs",
"user_viewable": false,
"user_editable": false,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "[DONT CHANGE] Git Username",
"description": ".",
"env_variable": "USERNAME",
"default_value": "",
"user_viewable": false,
"user_editable": false,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "[DONT CHANGE] Git Access Token",
"description": ".",
"env_variable": "ACCESS_TOKEN",
"default_value": "",
"user_viewable": false,
"user_editable": false,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "[DONT CHANGE] Uninstall Node packages",
"description": ".",
"env_variable": "UNNODE_PACKAGES",
"default_value": "",
"user_viewable": false,
"user_editable": false,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "[DONT CHANGE] Main file",
"description": ".",
"env_variable": "MAIN_FILE",
"default_value": "index.js",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:16",
"field_type": "text"
},
{
"name": "[DONT CHANGE] Additional Arguments.",
"description": ".",
"env_variable": "NODE_ARGS",
"default_value": "",
"user_viewable": false,
"user_editable": false,
"rules": "nullable|string|max:64",
"field_type": "text"
},
{
"name": "Panel Type",
"description": "Select if your client API is WISP or Pterodactyl",
"env_variable": "PANEL_TYPE",
"default_value": "PTERODACTYL",
"user_viewable": true,
"user_editable": true,
"rules": "required|in:PTERODACTYL,WISP",
"field_type": "text"
},
{
"name": "Panel Client API Key",
"description": "Add your game panel client API key here. You can find this under your profile page.",
"env_variable": "PANEL_API_KEY",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable",
"field_type": "text"
},
{
"name": "CS2 Server UUIDs",
"description": "Add the UUIDs of the servers you watch to watch. Add multiple servers with a comma separating them.",
"env_variable": "SERVER_ID",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable",
"field_type": "text"
},
{
"name": "Panel Domain",
"description": "The domain for your panel WITHOUT a \/ at the end.",
"env_variable": "PANEL_DOMAIN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable",
"field_type": "text"
},
{
"name": "Discord Webhook (Optional)",
"description": "Sends a notification to your Discord channel when an update happens.",
"env_variable": "WEBHOOK",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable",
"field_type": "text"
}
]
}