Add Zandronum egg (#1628)

This commit is contained in:
Frpst12 2022-12-18 14:34:46 +00:00 committed by GitHub
parent 0fd55691a3
commit 2accca0ffb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 404 additions and 0 deletions

View File

@ -110,6 +110,9 @@ If you are reading this it looks like you are looking to add an egg to your serv
[Call of Duty 4X](game_eggs/cod/cod4x) [Call of Duty 4X](game_eggs/cod/cod4x)
[Doom](game_eggs/doom)
* [Zandronum](game_eggs/doom/zandronum)
[ET Legacy](game_eggs/enemy_territory/etlegacy) [ET Legacy](game_eggs/enemy_territory/etlegacy)
[FTL: Tachyon](game_eggs/ftl/tachyon) [FTL: Tachyon](game_eggs/ftl/tachyon)

View File

@ -14,6 +14,9 @@
* [MCGalaxy](classicube/mcgalaxy) * [MCGalaxy](classicube/mcgalaxy)
[Doom](doom)
* [Zandronum](doom/zandronum)
[ET Legacy](enemy_territory/etlegacy) [ET Legacy](enemy_territory/etlegacy)
[Factorio](factorio) [Factorio](factorio)

3
game_eggs/doom/readme.md Normal file
View File

@ -0,0 +1,3 @@
# Doom
Doom is a 1993 first-person shooter (FPS) game developed by id Software.
## [Zandronum](zandronum)

Binary file not shown.

View File

@ -0,0 +1,152 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2022-12-14T14:27:39+01:00",
"name": "Zandronum",
"author": "sup@libtar.de",
"description": "Zandronum is a multiplayer oriented port, based off Skulltag, for Doom and Doom II by id Software.\r\n\r\nThis egg uses the Freedoom WAD by default.",
"features": null,
"docker_images": {
"Debian": "ghcr.io\/parkervcp\/yolks:debian"
},
"file_denylist": [],
"startup": ".\/zandronum-server -port {{SERVER_PORT}} -config \/home\/container\/zandronum.ini +set dmflags {{DMFLAGS}} +set dmflags2 {{DMFLAGS2}} +set zadmflags {{ZADMFLAGS}} +set compatflags {{COMPATFLAGS}} +set compatflags2 {{COMPATFLAGS2}} +set zacompatflags {{ZACOMPATFLAGS}} -iwad IWAD\/{{IWAD}} -file PWAD\/{{PWADS}} -host {{MAX_PLAYERS}} +map {{MAP}} -skill {{SKILL}} -netmode 1",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"UDP Initialized.\"\r\n}",
"logs": "{}",
"stop": "quit"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"linux-x86_64\" || echo \"linuxserver-armv8\")\r\n\r\necho \"Fetching latest version number of Zandronum\"\r\nversion=\"$(wget -q -O - http:\/\/zandronum.com\/download |\r\nsed -n 's\/.*The latest version is <strong>\\(.*\\)<\\\/strong>.*\/\\1\/p')\"\r\n\r\nz=\"zandronum\"$version\"-${ARCH}.tar.bz2\"\r\n\r\necho \"Downloading release $version of Zandronum.\"\r\necho \"Executing wget -nc https:\/\/zandronum.com\/downloads\/$z\"\r\nwget -nc https:\/\/zandronum.com\/downloads\/\"$z\"\r\necho \"Untar Zandronum\"\r\necho \"Executing tar -xjvf $z\"\r\ntar -xjvf \"$z\"\r\n\r\necho \"Remove useless files\"\r\nrm \"$z\"\r\nrm zandronum # This is the client, we don't need that.\r\n\r\necho \"Making zandronum-server executable\"\r\nchmod +x zandronum-server\r\n\r\n# Create IWAD and PWAD folder\r\nmkdir -p IWAD\r\nmkdir -p PWAD\r\n\r\n# Download latest freedoom for the default iwad\r\nfreedoom=$(curl -s https:\/\/api.github.com\/repos\/freedoom\/freedoom\/releases\/latest | jq .assets | jq -r .[].browser_download_url | grep -m1 -i freedoom-.*.zip)\r\n\r\necho \"$freedoom\"\r\ncurl -L -o freedoom.zip $freedoom\r\n\r\nunzip -j -o freedoom.zip '*\/*' -d IWAD\/\r\n\r\n# Removing useless files\r\nrm freedoom.zip\r\nrm IWAD\/*.html\r\nrm IWAD\/*.pdf\r\n\r\n# Download the configuration file. The server fail to generate a config by itself so we have to supply one or it will crash\r\nwget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/doom\/zandronum\/zandronum.ini -O \/mnt\/server\/zandronum.ini\r\n\r\ntouch adminlist.txt\r\ntouch whitelist.txt\r\ntouch banlist.txt\r\n\r\nif [[ \"${GEOIP}\" == \"1\" ]]; then\r\n echo \"setting up GeoIP\"\r\n wget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/doom\/zandronum\/GeoIP.dat -O \/mnt\/server\/GeoIP.dat\r\nfi\r\n\r\n\r\necho \"Install finished.\"",
"container": "ghcr.io\/pterodactyl\/installers:alpine",
"entrypoint": "ash"
}
},
"variables": [
{
"name": "Max Players",
"description": "The maximum amount of players allowed on your game server.",
"env_variable": "MAX_PLAYERS",
"default_value": "16",
"user_viewable": true,
"user_editable": false,
"rules": "nullable|integer|max:128",
"field_type": "text"
},
{
"name": "IWAD",
"description": "An IWAD is the main resource file for a Doom-engine game, containing all the game's original sounds, levels, and graphics.",
"env_variable": "IWAD",
"default_value": "freedoom1.wad",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:255",
"field_type": "text"
},
{
"name": "PWADS",
"description": "If you wish to use multiple PWAD you can do so by separating them with spaces.\r\n\r\nA PWAD is a WAD containing lumps of data, often used as addons. They replace in-game assets.",
"env_variable": "PWADS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:255",
"field_type": "text"
},
{
"name": "Skill",
"description": "Set the difficulty of the game.",
"env_variable": "SKILL",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|between:0,15",
"field_type": "text"
},
{
"name": "map",
"description": "The map the server should start with.",
"env_variable": "MAP",
"default_value": "e1m1",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:255",
"field_type": "text"
},
{
"name": "dmflags",
"description": "Gameplay flags. https:\/\/wiki.zandronum.com\/DMFlags",
"env_variable": "DMFLAGS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:255",
"field_type": "text"
},
{
"name": "dmflags2",
"description": "Gameplay flags. https:\/\/wiki.zandronum.com\/DMFlags",
"env_variable": "DMFLAGS2",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:255",
"field_type": "text"
},
{
"name": "zadmflags",
"description": "Zandronum specific gameplay flags. https:\/\/wiki.zandronum.com\/DMFlags",
"env_variable": "ZADMFLAGS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:255",
"field_type": "text"
},
{
"name": "compatflags",
"description": "Compatibility flags. https:\/\/wiki.zandronum.com\/DMFlags",
"env_variable": "COMPATFLAGS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:255",
"field_type": "text"
},
{
"name": "compatflags2",
"description": "Compatibility flags. https:\/\/wiki.zandronum.com\/DMFlags",
"env_variable": "COMPATFLAGS2",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:255",
"field_type": "text"
},
{
"name": "zacompatflags",
"description": "Zandronum specific compatibility flags. https:\/\/wiki.zandronum.com\/DMFlags",
"env_variable": "ZACOMPATFLAGS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:255",
"field_type": "text"
},
{
"name": "Enable GeoIP",
"description": "GeoIP is used to identify the country of the client's ip address",
"env_variable": "GEOIP",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
}
]
}

View File

@ -0,0 +1,12 @@
# Zandronum
Zandronum is a multiplayer oriented port, based off Skulltag, for Doom and Doom II by id Software.
This egg uses the [Freedoom](https://freedoom.github.io/) WAD by default.
### Server Ports
Zandronum requires a single port:
| Port | default |
|---------|----------|
| Game | 10666 |

View File

@ -0,0 +1,231 @@
# These are the directories to automatically search for IWADs.
# Each directory should be on a separate line, preceded by Path=
[IWADSearch.Directories]
Path=.
Path=./IWAD/
# These are the directories to search for wads added with the -file
# command line parameter, if they cannot be found with the path
# as-is. Layout is the same as for IWADSearch.Directories
[FileSearch.Directories]
Path=.
Path=./PWAD/
# Files to automatically execute when running the corresponding game.
# Each file should be on its own line, preceded by Path=
[Doom.AutoExec]
Path=/home/container/doom.cfg
[Heretic.AutoExec]
Path=/home/container/heretic.cfg
[Hexen.AutoExec]
Path=/home/container/hexen.cfg
[Strife.AutoExec]
Path=/home/container/strife.cfg
[Chex.AutoExec]
Path=/home/container/chex.cfg
# WAD files to always load. These are loaded after the IWAD but before
# any files added with -file. Place each file on its own line, preceded
# by Path=
[Global.Autoload]
# Wad files to automatically load depending on the game and IWAD you are
# playing. You may have have files that are loaded for all similar IWADs
# (the game) and files that are only loaded for particular IWADs. For example,
# any files listed under Doom.Autoload will be loaded for any version of Doom,
# but files listed under Doom2.Autoload will only load when you are
# playing Doom 2.
[Doom.Autoload]
[Doom1.Autoload]
[Doom2.Autoload]
[TNT.Autoload]
[Plutonia.Autoload]
[Freedoom.Autoload]
[Freedoom1.Autoload]
[FreeDM.Autoload]
[Heretic.Autoload]
[Hexen.Autoload]
[HexenDK.Autoload]
[HexenDemo.Autoload]
[Strife.Autoload]
[Chex.Autoload]
[Chex3.Autoload]
[UrbanBrawl.Autoload]
[Harmony.Autoload]
[LastRun]
Version=210
Version-ZANDRONUM=181
[GlobalSettings]
gus_memsize=0
midi_dmxgus=true
gus_patchdir=
midi_timiditylike=false
midi_voices=32
midi_config=timidity.cfg
fluid_chorus_type=0
fluid_chorus_depth=8
fluid_chorus_speed=0.3
fluid_chorus_level=1.2
fluid_chorus_voices=3
fluid_reverb_level=0.57
fluid_reverb_width=0.76
fluid_reverb_damping=0.23
fluid_reverb_roomsize=0.61
fluid_threads=1
fluid_samplerate=0
fluid_interp=1
fluid_voices=128
fluid_chorus=true
fluid_reverb=true
fluid_gain=0.5
fluid_patchset=
opl_core=0
opl_numchips=2
timidity_frequency=22050
timidity_pipe=90
timidity_mastervolume=1
timidity_byteswap=false
timidity_8bit=false
timidity_stereo=true
timidity_reverb=0
timidity_chorus=0
timidity_extargs=
timidity_exe=timidity
snd_mididevice=-1
spc_amp=1.875
mod_autochip_scan_threshold=12
mod_autochip_size_scan=500
mod_autochip_size_force=100
mod_autochip=false
mod_interp=1
mod_volramp=0
mod_samplerate=0
mod_dumb=true
snd_sfxvolume=1
snd_output=default
snd_buffersize=0
snd_samplerate=0
snd_musicvolume=0.5
snd_waterlp=250
snd_midipatchset=
snd_output_format=PCM-16
snd_speakermode=Auto
snd_resampler=Linear
snd_waterreverb=true
snd_hrtf=false
snd_buffercount=0
snd_driver=0
opl_fullpan=true
vid_contrast=1
vid_brightness=0
vid_tft=true
m_showinputgrid=false
m_show_backbutton=0
m_use_mouse=1
show_messages=true
mouse_sensitivity=1
r_drawspectatingstring=true
map_point_coordinates=true
vid_aspect=0
vid_nowidescreen=false
vid_refreshrate=0
vid_vsync=false
vid_defbits=8
vid_defheight=480
vid_defwidth=640
Gamma=1
masterhostname=master.zandronum.com
sv_showwarnings=false
statfile=zdoomstat.txt
savestatistics=0
snd_flipstereo=false
snd_channels=32
r_columnmethod=1
r_quakeintensity=1
cl_oldfreelooklimit=false
cl_spectatormove=1
cl_noprediction=false
telezoom=true
r_fakecontrast=1
chase_dist=90
chase_height=-8
gl_cachetime=0.6
gl_cachenodes=true
nomonsterinterpolation=false
authhostname=auth.zandronum.com:16666
png_gamma=0
png_level=5
screenshot_dir=
screenshot_type=png
screenshot_quiet=false
use_joystick=false
autosavecount=4
disableautosave=0
autosavenum=0
smooth_mouse=false
cl_telespy=false
m_side=2
m_forward=1
m_yaw=1
m_pitch=1
lookstrafe=false
freelook=true
invertmouse=false
cl_run=true
demo_compress=true
save_dir=
longsavemessages=true
storesavepic=true
nofilecompression=false
cl_capfps=false
defaultiwad=
queryiwad=true
cl_useskulltagmouse=false
demo_pure=true
con_ctrl_d=
snd_announcervolume=1
cl_allowmultipleannouncersounds=true
cl_alwaysplayfragsleft=false
showendoom=0
bgamma=1
ggamma=1
rgamma=1
vid_asyncblit=true
vid_displaybits=8
mouse_capturemode=1
cl_soundwhennotactive=true
sdl_nokeyrepeat=false
m_filter=false
m_noprescale=false
use_mouse=true
vid_winscale=1
fullscreen=false
vid_maxfps=200
vid_renderer=1
[GlobalSettings.Unknown]