Skip to content

Commit

Permalink
Merge pull request pelican-eggs#2149 from Z3r0byte/yuzu-emu
Browse files Browse the repository at this point in the history
add yuzu emulator dedicated multiplayer room
  • Loading branch information
QuintenQVD0 authored Feb 24, 2023
2 parents 888a137 + 35012b4 commit 18664a6
Show file tree
Hide file tree
Showing 4 changed files with 143 additions and 0 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/)
Expand Down
2 changes: 2 additions & 0 deletions game_eggs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -205,4 +205,6 @@

[Xonotic](xonotic/xonotic)

[YuzuEmu](yuzu-emu)

[FoundryVTT](FoundryVTT)
37 changes: 37 additions & 0 deletions game_eggs/yuzu-emu/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Yuzu Emulator Dedicated Multiplayer Room


## From their [Github](https://github.com/yuzu-emu/yuzu-mainline)

## Description

This egg can be used to host dedicated multiplayer rooms for the Yuzu emulator.

## Install notes

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

8 MiB is enough, but 16 MiB is recommended

## Minumim Sorage warning

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

Ports required to run the server in a table format.

| Port | default |
|---------|---------|
| Game | 24872 |

### Notes

- 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.
102 changes: 102 additions & 0 deletions game_eggs/yuzu-emu/yuzu-emu.json
Original file line number Diff line number Diff line change
@@ -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-19T15:16:38+01:00",
"name": "YuzuEmu",
"author": "me@basvandenboom.dev",
"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": "#!\/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"
}
},
"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"
}
]
}

0 comments on commit 18664a6

Please sign in to comment.