-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathegg-tmodloader.json
More file actions
147 lines (147 loc) · 6.67 KB
/
egg-tmodloader.json
File metadata and controls
147 lines (147 loc) · 6.67 KB
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
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL",
"meta": {
"version": "PLCN_v1",
"update_url": null
},
"exported_at": "2025-09-30T09:21:00+00:00",
"name": "tModloader",
"author": "parker@parkervcp.com",
"uuid": "253b07ab-ce86-412c-a285-39c16ba6c62b",
"description": "tModLoader is essentially a mod that provides a way to load your own mods without having to work directly with Terraria's source code itself. This means you can easily make mods that are compatible with other people's mods, save yourself the trouble of having to decompile and recompile Terraria.exe, and escape from having to understand all of the obscure \"intricacies\" of Terraria's source code. It is made to work for Terraria 1.3+.",
"tags": [],
"features": [],
"docker_images": {
"ARM": "ghcr.io\/sapientes\/eggs:tmodloader-arm64",
"x86": "ghcr.io\/sapientes\/eggs:tmodloader-amd64"
},
"file_denylist": [],
"startup": ".\/tModLoaderServer -ip 0.0.0.0 -port {{SERVER_PORT}} -maxplayers {{MAX_PLAYERS}} -password \"{{SERVER_PASSWORD}}\" -motd \"{{MOTD}}\" -lang {{LANGUAGE}} -world ~\/saves\/Worlds\/{{WORLD_NAME}}.wld -worldname {{WORLD_NAME}} -autocreate {{WORLD_SIZE}} -config serverconfig.txt -savedirectory ~\/ -tmlsavedirectory ~\/saves -modpath ~\/mods",
"config": {
"files": "{\r\n \"serverconfig.txt\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"difficulty\": \"difficulty={{server.environment.DIFFICULTY}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Type 'help' for a list of commands\"\r\n}",
"logs": "{}",
"stop": "exit"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Vanilla tModloader Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n## install packages to get version and download links\r\n\r\nurl=\"\"\r\n\r\nif [[ -z \"$VERSION\" ]] || [[ \"$VERSION\" -eq \"latest\" ]]; then\r\n url=\"https:\/\/github.com\/tModLoader\/tModLoader\/releases\/latest\/download\/tModLoader.zip\"\r\nelse\r\n url=\"https:\/\/github.com\/tModLoader\/tModLoader\/releases\/download\/${VERSION}\/tModLoader.zip\"\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\nwget \"$url\"\r\nunzip -o tModLoader.zip\r\nrm tModLoader.zip\r\nchmod a+rx **\/*.sh\r\n\r\n# Remove unneeded files\r\nrm -rf DedicatedServerUtils LaunchUtils PlatformVariantLibs tModPorter RecentGitHubCommits.txt *.bat *.sh\r\n\r\necho 'dotnet tModLoader.dll -server \"$@\"' > tModLoaderServer\r\nchmod +x tModLoaderServer\r\n\r\necho -e 'TMOD_AUTODOWNLOAD=\"\"\\nTMOD_ENABLEDMODS=\"\"' > .env\r\n\r\n# Symlink sdl2\r\n# TODO: amd64 support\r\nln -s \/usr\/lib\/aarch64-linux-gnu\/libSDL2-2.0.so.0 Libraries\/Native\/Linux\/libSDL2-2.0.so.0\r\n\r\n## using config for difficulty as the startup parameter does not work -> config parser\r\nsed -i 's\/#difficulty\/difficulty\/' serverconfig.txt\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"sort": 5,
"name": "Difficulty",
"description": "Sets the difficulty of the world when using auto-create. Options: 0(normal), 1(expert), 2(master), 3(journey)",
"env_variable": "DIFFICULTY",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": [
"required",
"string",
"in:0,1,2,3"
]
},
{
"sort": 8,
"name": "Language",
"description": "Sets the server language \r\n1:English, \r\n2:German, \r\n3:Italian, \r\n4:French, \r\n5:Spanish",
"env_variable": "LANGUAGE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": [
"required",
"string",
"in:1,2,3,4,5"
]
},
{
"sort": 2,
"name": "Max Players",
"description": "The maximum number of players a server will hold.",
"env_variable": "MAX_PLAYERS",
"default_value": "8",
"user_viewable": true,
"user_editable": false,
"rules": [
"required",
"numeric",
"digits_between:1,3"
]
},
{
"sort": 7,
"name": "MOTD",
"description": "Message of the Day for the server",
"env_variable": "MOTD",
"default_value": "Please don\u2019t cut the purple trees!",
"user_viewable": true,
"user_editable": true,
"rules": [
"required",
"string",
"max:40"
]
},
{
"sort": 6,
"name": "Server Password",
"description": "Server password for users to connect to your server.\r\nCan be empty for no password.",
"env_variable": "SERVER_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": [
"nullable",
"string",
"max:20"
]
},
{
"sort": 4,
"name": "tModloader Version",
"description": "The version of tModloader that is to be used.",
"env_variable": "VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": [
"required",
"string",
"max:20"
]
},
{
"sort": 1,
"name": "World Name",
"description": "The name for the world file.",
"env_variable": "WORLD_NAME",
"default_value": "world",
"user_viewable": true,
"user_editable": true,
"rules": [
"required",
"string",
"max:20"
]
},
{
"sort": 3,
"name": "World Size",
"description": "Defines the worlds size. 3 sizes 1 (small), 2 (medium), 3 (large).",
"env_variable": "WORLD_SIZE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": [
"required",
"string",
"in:1,2,3"
]
}
]
}