yuzu-multiplayer
Add the repo to your local helm client.
helm repo add mika https://irfanhakim-as.github.io/charts
Update the repo to retrieve the latest versions of the packages.
helm repo update
Copy values.yaml
from the chart you would like to install.
cp mika/yuzu-multiplayer/values.yaml .
Edit values.yaml
with the appropriate values. Please refer to the Configurations section below, or the values.yaml
file itself for details and sample values.
nano values.yaml
Install the desired chart. Replace $release_name
and $namespace
accordingly.
helm install $release_name mika/yuzu-multiplayer --namespace $namespace --create-namespace --values values.yaml --wait
Verify that your chart has been installed. Replace $namespace
and $release_name
accordingly.
helm ls --namespace $namespace | grep "$release_name"
You will need to port forward the service in order to be able to access the multiplayer room on Yuzu. In order to do so, we need to determine the port that we need to forward, the port that the service is listening on (including its required protocol), and the local IP address of the node that the pod is running on.
Assuming that the namespace is yuzu
, and the release name is yuzu-preview-0
, run the following command to determine the Virtual Host port:
kubectl get svc -n yuzu yuzu-preview-0-yuzu-multiplayer-svc
Output:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
yuzu-preview-0-yuzu-multiplayer-svc NodePort 10.43.116.12 <none> 24872:30965/UDP 7h37m
Based on this particular output, we can determine that the port we need to forward is 30965
.
Irrespective of the output, the port that the service is listening on and its protocol have been set to 24872
(UDP) according to the Yuzu documentation.
To determine the node that the pod is running on, run the following command (replace $pod_name
accordingly):
kubectl get pod -n yuzu $pod_name -o wide
Output:
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
yuzu-preview-0-yuzu-multiplayer-fc455d767-tgn9p 1/1 Running 0 37m 10.42.3.52 192.168.0.23 <none> <none>
Based on this particular output, we can determine that the local IP address of the node that the pod is running on is 192.168.0.23
.
With this information, we can now port forward the service on our router. The steps involved varies between routers, but the following is an example configuration for a D-Link router:
Enable | Name | Protocol | WAN Host Start IP | WAN Host End IP | WAN Start Port | WAN End Port | LAN Host IP | Virtual Host Port |
---|---|---|---|---|---|---|---|---|
1 | yuzu | UDP | - | - | 24872 | 24872 | 192.168.0.23 | 30965 |
After doing so, we should be able to connect to the multiplayer room through Yuzu at 192.168.0.23:30965
based on this example.
After making any necessary changes to the values.yaml
file, upgrade the desired chart. Replace $release_name
and $namespace
accordingly.
helm upgrade $release_name mika/yuzu-multiplayer --namespace $namespace --values values.yaml --wait
Uninstall the desired chart. Replace $release_name
and $namespace
accordingly.
helm uninstall $release_name --namespace $namespace --wait
Key | Type | Default | Description |
---|---|---|---|
image.yuzu.pullPolicy | string | "" |
The policy that determines when Kubernetes should pull the yuzu-multiplayer container image. Default: "IfNotPresent" . |
image.yuzu.registry | string | "" |
The registry where the yuzu-multiplayer container image is hosted. Default: "docker.io" . |
image.yuzu.repository | string | "" |
The name of the repository that contains the yuzu-multiplayer container image used. Default: "yuzuemu/yuzu-multiplayer-dedicated" . |
image.yuzu.tag | string | "" |
The tag that specifies the version of the yuzu-multiplayer container image used. Default: Chart appVersion . |
imagePullSecrets | list | [] |
Credentials used to securely authenticate and authorise the pulling of container images from private registries. |
replicaCount | string | "" |
The desired number of running replicas for yuzu-multiplayer. Default: "1" . |
resources.limits.cpu | string | "300m" |
The maximum amount of CPU resources allowed for yuzu-multiplayer. |
resources.limits.memory | string | "300Mi" |
The maximum amount of memory allowed for yuzu-multiplayer. |
resources.requests.cpu | string | "50m" |
The minimum amount of CPU resources required by yuzu-multiplayer. |
resources.requests.memory | string | "50Mi" |
The minimum amount of memory required by yuzu-multiplayer. |
yuzu.api | string | "" |
The API endpoint for the Yuzu emulator. Default: "https://api.yuzu-emu.org" . |
yuzu.country | string | "" |
The Alpha-2 code of the country where the multiplayer server is hosted. Default: "US" . |
yuzu.game.id | string | "" |
The Title ID of the preferred game to be hosted on the multiplayer room. |
yuzu.game.name | string | "" |
The name of the preferred game to be hosted on the multiplayer room. |
yuzu.mods | bool | false |
Specify whether to allow Yuzu Community Moderators to moderate on your room. |
yuzu.port | string | "" |
The port number that the multiplayer server will be hosted on (0-65535). Default: 24872 . |
yuzu.region | string | "" |
The name of the region where the multiplayer server is hosted. |
yuzu.room.description | string | "" |
An optional description of the multiplayer room. |
yuzu.room.limit | string | "" |
The maximum number of players allowed in the multiplayer room (2-16). Default: "2" . |
yuzu.room.name | string | "" |
The name of the multiplayer room. Default: "$country $region - $game_name" . |
yuzu.room.password | string | "" |
An optional password to restrict access to the multiplayer room. |
yuzu.token | string | "" |
The Yuzu Community user token required to host the multiplayer server. |