From 98136fe20852e843a6680af2423223747994c2f8 Mon Sep 17 00:00:00 2001 From: Bas van den Boom Date: Sun, 19 Feb 2023 11:01:20 +0100 Subject: [PATCH 1/6] Create placeholder readme --- game_eggs/yuzu-emu/README.md | 46 ++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 game_eggs/yuzu-emu/README.md diff --git a/game_eggs/yuzu-emu/README.md b/game_eggs/yuzu-emu/README.md new file mode 100644 index 00000000..e20faa8f --- /dev/null +++ b/game_eggs/yuzu-emu/README.md @@ -0,0 +1,46 @@ +# Yuzu Emulator Dedicated Multiplayer Room + + + +## From their [Github](https://github.com/parkervcp/eggs) + +A link to the site that you download the server files from. + +## [Documentation](https://github.com/parkervcp/eggs/blob/master/README.md) + +A link to relevent documentation for the server. + +The description of the server usually provided by the game/server maker. + + +## Install notes + + +Due to rate limiting the console on the panel, it cannot keep up with the game console and the build will complete before the panel console may show it. Reloading the console will load it to the latest part of the log. + +## Minimum RAM warning + +Minimum required memory to run the server. + + +## Minumim Sorage warning + +Minimum required storage to run the server. + + + + +## Server Ports + +Ports required to run the server in a table format. + +| Port | default | +|---------|---------| +| Game | 25565 | + +### Notes + + +25565 is the default port, but any port can be used. + +### Mods/Plugins may require ports to be added to the server From 55eac93fed6540574801f4079f54b5b89e952210 Mon Sep 17 00:00:00 2001 From: Bas van den Boom Date: Sun, 19 Feb 2023 12:37:18 +0100 Subject: [PATCH 2/6] Add egg definition --- game_eggs/yuzu-emu/yuzu-emu.json | 102 +++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 game_eggs/yuzu-emu/yuzu-emu.json diff --git a/game_eggs/yuzu-emu/yuzu-emu.json b/game_eggs/yuzu-emu/yuzu-emu.json new file mode 100644 index 00000000..bf104560 --- /dev/null +++ b/game_eggs/yuzu-emu/yuzu-emu.json @@ -0,0 +1,102 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v2", + "update_url": null + }, + "exported_at": "2023-02-19T12:36:09+01:00", + "name": "YuzuEmu", + "author": "Z3r0byte", + "description": "Egg for hosting dedicated Yuzu multiplayer rooms.", + "features": null, + "docker_images": { + "ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian" + }, + "file_denylist": [], + "startup": ".\/yuzu-room --room-name \"{{ROOM_NAME}}\" --room-description \"{{ROOM_DESCRIPTION}}\" --preferred-game \"{{PREFERRED_GAME}}\" --preferred-game-id {{PREFERRED_GAME_ID}} --port {{SERVER_PORT}} --max_members {{MAX_MEMBERS}} --password \"{{PASSWORD}}\" --token \"{{YUZU_TOKEN}}\" --web-api-url \"https:\/\/api.yuzu-emu.org\/\"", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"Room is open\"\r\n}", + "logs": "{}", + "stop": "Q" + }, + "scripts": { + "installation": { + "script": "# Install build tools\r\necho \"deb http:\/\/deb.debian.org\/debian bullseye-backports main\" >> \/etc\/apt\/sources.list && \\\r\n apt-get update && apt-get -y full-upgrade && \\\r\n apt-get install -y build-essential wget git ccache ninja-build libssl-dev pkg-config libarchive-tools \\\r\n cmake\/bullseye-backports cmake-data\/bullseye-backports \r\n\r\n\r\n# Shallow clone yuzu repository, since we delete the local copy afterwards\r\ngit clone --depth 1 -j4 --recursive --shallow-submodules https:\/\/github.com\/yuzu-emu\/yuzu-mainline.git \/mnt\/server\/yuzu-mainline\r\n\r\n# Download build tools and build\r\ngit clone --depth 1 https:\/\/github.com\/yuzu-emu\/yuzu-multiplayer-dedicated.git \/mnt\/server\/build-files\r\ncd \/mnt\/server\/yuzu-mainline && \/mnt\/server\/build-files\/.ci\/build.sh\r\n\r\n# Copy server binary to container root\r\ncp \/mnt\/server\/yuzu-mainline\/build\/bin\/yuzu-room \/mnt\/server\/yuzu-room\r\n\r\n# Delete git repo's to save disk space.\r\nrm -rf \/mnt\/server\/yuzu-mainline && rm -rf \/mnt\/server\/build-files", + "container": "ghcr.io\/pterodactyl\/installers:debian", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Room name", + "description": "", + "env_variable": "ROOM_NAME", + "default_value": "My Yuzu Room", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:20", + "field_type": "text" + }, + { + "name": "Room description", + "description": "", + "env_variable": "ROOM_DESCRIPTION", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|max:60", + "field_type": "text" + }, + { + "name": "Preferred game", + "description": "", + "env_variable": "PREFERRED_GAME", + "default_value": "Mario Kart 8 Deluxe", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|max:20", + "field_type": "text" + }, + { + "name": "Preferred game ID", + "description": "", + "env_variable": "PREFERRED_GAME_ID", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|max:20|alphanum", + "field_type": "text" + }, + { + "name": "Max members", + "description": "", + "env_variable": "MAX_MEMBERS", + "default_value": "4", + "user_viewable": true, + "user_editable": true, + "rules": "required|int|max:4|min:1", + "field_type": "text" + }, + { + "name": "Room password", + "description": "Room password. Leave empty for no password.", + "env_variable": "PASSWORD", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|max:20", + "field_type": "text" + }, + { + "name": "Yuzu token", + "description": "Yuzu account token (retrieve yours at https:\/\/profile.yuzu-emu.org\/). Necessary when creating a public (listed) room. Leave empty to create a private room.", + "env_variable": "YUZU_TOKEN", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|max:20", + "field_type": "text" + } + ] +} \ No newline at end of file From 7d7a15dc2d99d0a43178a49bee7320f8ad09cd16 Mon Sep 17 00:00:00 2001 From: Bas van den Boom Date: Sun, 19 Feb 2023 12:45:37 +0100 Subject: [PATCH 3/6] Update README.md --- game_eggs/yuzu-emu/README.md | 33 ++++++++++++--------------------- 1 file changed, 12 insertions(+), 21 deletions(-) diff --git a/game_eggs/yuzu-emu/README.md b/game_eggs/yuzu-emu/README.md index e20faa8f..516501f4 100644 --- a/game_eggs/yuzu-emu/README.md +++ b/game_eggs/yuzu-emu/README.md @@ -1,34 +1,27 @@ # Yuzu Emulator Dedicated Multiplayer Room - -## From their [Github](https://github.com/parkervcp/eggs) +## From their [Github](https://github.com/yuzu-emu/yuzu-mainline) -A link to the site that you download the server files from. +## Description -## [Documentation](https://github.com/parkervcp/eggs/blob/master/README.md) - -A link to relevent documentation for the server. - -The description of the server usually provided by the game/server maker. - +This egg can be used to host dedicated multiplayer rooms for the Yuzu emulator. ## Install notes - -Due to rate limiting the console on the panel, it cannot keep up with the game console and the build will complete before the panel console may show it. Reloading the console will load it to the latest part of the log. +Running this server requires almost no resources, but the installation involves compiling the binary. This is needed because yuzu unfortunately does not release their server binaries for Linux. Depending on your configuration, the installation part may take 5 minutes or more. + +To update, simply run the installer again. ## Minimum RAM warning -Minimum required memory to run the server. - +8 MiB is enough, but 16 MiB is recommended ## Minumim Sorage warning -Minimum required storage to run the server. - +1MiB is required, but 50 MiB is recommended to have some spare space for core dumps/logs - +Note: the install part requires ~ 5GiB of free space ## Server Ports @@ -36,11 +29,9 @@ Ports required to run the server in a table format. | Port | default | |---------|---------| -| Game | 25565 | +| Game | 24872 | ### Notes - -25565 is the default port, but any port can be used. - -### Mods/Plugins may require ports to be added to the server +- 24872 is the default port, but any port can be used. +- Banlist is currently not supported. Upon startup, an error will be shown about the missing banlist, but the server will work regardless. From b1b1d13e70402e96b96ca153dbb5126e05f9b264 Mon Sep 17 00:00:00 2001 From: Bas van den Boom Date: Sun, 19 Feb 2023 12:48:31 +0100 Subject: [PATCH 4/6] Add entry to main readme --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 31401c12..64daca88 100644 --- a/README.md +++ b/README.md @@ -310,6 +310,8 @@ If you are reading this it looks like you are looking to add an egg to your serv [Xonotic](game_eggs/xonotic/xonotic) +[YuzuEmu](game_eggs/yuzu-emu) + [FoundryVTT](game_eggs/FoundryVTT) ## [Monitoring](/monitoring/) From 30cbd107bdd57b597f3a197543ae63041c158ec7 Mon Sep 17 00:00:00 2001 From: Bas van den Boom Date: Sun, 19 Feb 2023 13:21:44 +0100 Subject: [PATCH 5/6] Update README.md --- game_eggs/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/game_eggs/README.md b/game_eggs/README.md index 20fdab71..018fa0ac 100644 --- a/game_eggs/README.md +++ b/game_eggs/README.md @@ -205,4 +205,6 @@ [Xonotic](xonotic/xonotic) +[YuzuEmu](yuzu-emu) + [FoundryVTT](FoundryVTT) From 35012b41506238be06ee20fa1adeaa8cbb9f8ae3 Mon Sep 17 00:00:00 2001 From: Bas van den Boom Date: Sun, 19 Feb 2023 15:18:02 +0100 Subject: [PATCH 6/6] Requested changes --- game_eggs/yuzu-emu/yuzu-emu.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/game_eggs/yuzu-emu/yuzu-emu.json b/game_eggs/yuzu-emu/yuzu-emu.json index bf104560..26a24c14 100644 --- a/game_eggs/yuzu-emu/yuzu-emu.json +++ b/game_eggs/yuzu-emu/yuzu-emu.json @@ -4,9 +4,9 @@ "version": "PTDL_v2", "update_url": null }, - "exported_at": "2023-02-19T12:36:09+01:00", + "exported_at": "2023-02-19T15:16:38+01:00", "name": "YuzuEmu", - "author": "Z3r0byte", + "author": "me@basvandenboom.dev", "description": "Egg for hosting dedicated Yuzu multiplayer rooms.", "features": null, "docker_images": { @@ -22,7 +22,7 @@ }, "scripts": { "installation": { - "script": "# Install build tools\r\necho \"deb http:\/\/deb.debian.org\/debian bullseye-backports main\" >> \/etc\/apt\/sources.list && \\\r\n apt-get update && apt-get -y full-upgrade && \\\r\n apt-get install -y build-essential wget git ccache ninja-build libssl-dev pkg-config libarchive-tools \\\r\n cmake\/bullseye-backports cmake-data\/bullseye-backports \r\n\r\n\r\n# Shallow clone yuzu repository, since we delete the local copy afterwards\r\ngit clone --depth 1 -j4 --recursive --shallow-submodules https:\/\/github.com\/yuzu-emu\/yuzu-mainline.git \/mnt\/server\/yuzu-mainline\r\n\r\n# Download build tools and build\r\ngit clone --depth 1 https:\/\/github.com\/yuzu-emu\/yuzu-multiplayer-dedicated.git \/mnt\/server\/build-files\r\ncd \/mnt\/server\/yuzu-mainline && \/mnt\/server\/build-files\/.ci\/build.sh\r\n\r\n# Copy server binary to container root\r\ncp \/mnt\/server\/yuzu-mainline\/build\/bin\/yuzu-room \/mnt\/server\/yuzu-room\r\n\r\n# Delete git repo's to save disk space.\r\nrm -rf \/mnt\/server\/yuzu-mainline && rm -rf \/mnt\/server\/build-files", + "script": "#!\/bin\/bash\r\n\r\n# Install build tools\r\necho \"deb http:\/\/deb.debian.org\/debian bullseye-backports main\" >> \/etc\/apt\/sources.list && \\\r\napt-get update && apt-get -y full-upgrade && \\\r\n apt-get install -y build-essential wget git ccache ninja-build libssl-dev pkg-config libarchive-tools \\\r\n cmake\/bullseye-backports cmake-data\/bullseye-backports\r\n\r\n\r\n# Shallow clone yuzu repository, since we delete the local copy afterwards\r\ngit clone --depth 1 -j4 --recursive --shallow-submodules https:\/\/github.com\/yuzu-emu\/yuzu-mainline.git \/mnt\/server\/yuzu-mainline\r\n\r\n# Download build tools and build\r\ngit clone --depth 1 https:\/\/github.com\/yuzu-emu\/yuzu-multiplayer-dedicated.git \/mnt\/server\/build-files\r\ncd \/mnt\/server\/yuzu-mainline && \/mnt\/server\/build-files\/.ci\/build.sh\r\n\r\n# Copy server binary to container root\r\ncp \/mnt\/server\/yuzu-mainline\/build\/bin\/yuzu-room \/mnt\/server\/yuzu-room\r\n\r\n# Delete git repo's to save disk space.\r\nrm -rf \/mnt\/server\/yuzu-mainline && rm -rf \/mnt\/server\/build-files", "container": "ghcr.io\/pterodactyl\/installers:debian", "entrypoint": "bash" } @@ -99,4 +99,4 @@ "field_type": "text" } ] -} \ No newline at end of file +}