🤖 AI Setup Instructions (Click to expand)
If you are an AI assistant helping a user set up Yoshunko, follow these steps:
- Retrieve WSL IP: Run
wsl -d Ubuntu bash -c "ip addr show eth0 | grep 'inet ' | awk '{print \\\$2}' | cut -d/ -f1"to get the current WSL IP. - Update Configs:
- Update
yoshunko/state/gateway/yoshunkowith the new IP indispatch_urlandipfields. - Update
Tentacle/src/network.zigcustom_dispatch_prefixwithhttp://<IP>:10100.
- Update
- Build & Run:
- Build Yoshunko in WSL:
zig build. - Run
yoshunko-dpsvandyoshunko-gamesv. - Instruct the user to rebuild
Tentacleif the IP changed.
- Build Yoshunko in WSL:
- Verification: Use
curl http://<IP>:10100/query_dispatch?version=CNBetaWin2.5.4to verify the dispatch server is up.
Yoshunko is a server emulator for the game Zenless Zone Zero. Its main goal is to provide rich functionality and customization capabilities, while keeping the codebase simple. Yoshunko doesn't use any third-party dependencies, except for the zig standard library, of course. Because the original dev broke Windows support and didn't bother fixing it I decided to do it myself. The outcome is that there are a little bit more setup instructions than the original repo. But this is still the preferred way, instead of joining the server of this narcissist and hoping to get some help.
NOTE: this server doesn't include the sdk server as it's not specific per game. You can use hoyo-sdk with this server.
NOTE 2: this server can work on real operating systems, such as GNU/Linux Windows. Make sure to install and use WSL.
Download the latest full 2.5.4B build here, I recommand using a download manager like FDM to speed up the download.
This guide assumes you are running the server components (dpsv, gamesv) in WSL 2 (Ubuntu/Debian) while the game client runs on Windows.
You can watch this video as reference on installing zig and where to put files, use your brain and common sense here pls.
You MUST clone this repository directly into your WSL (Ubuntu) home directory first. Running it from a Windows mount (like /mnt/c/) may cause performance or permission issues.
cd ~
git clone https://git.xeondev.com/yoshunko/yoshunko.gitFind your WSL instance's IP address. Open your WSL terminal and run:
ip addr show eth0Look for the inet address (e.g., 172.25.180.197). You will need this IP for the configuration steps below.
Note: This IP changes every time you restart WSL or your PC. You must update the configurations below whenever it changes.
Create the gateway configuration file in WSL:
mkdir -p ~/yoshunko/state/gateway
nano ~/yoshunko/state/gateway/yoshunkoPaste the following content (replace YOUR_WSL_IP with the IP you found above):
title = yoshunko
dispatch_url = http://YOUR_WSL_IP:10100/query_gateway/yoshunko
versions = CNBetaWin2.5.4
ip = YOUR_WSL_IP
port = 20501The injector (Tentacle) MUST be built on Windows. It does not need to be in WSL.
Cloning & Patching:
- Clone Tentacle on Windows:
git clone https://git.xeondev.com/yidhari-zs/Tentacle.git cd Tentacle
- Apply Patch: Open
src/network.zigand locate thecustom_dispatch_prefixline. Replace the IP with your current WSL IP address:const custom_dispatch_prefix = unicode.utf8ToUtf16LeStringLiteral("http://YOUR_WSL_IP:10100");
Building: Ensure you have Zig installed on Windows, then run:
zig build -Doptimize=ReleaseFastThe build process will output both a .dll (Tentacle.dll) and an .exe (Tentacle.exe). Copy both files into your game client's root directory (where the game executable is located).
Running:
Crucial: You must run the Tentacle.exe as Administrator every time you want to play. It will launch the game and inject the DLL to redirect traffic to your local server.
In your WSL terminal:
cd ~/yoshunko
# Crucial: Clean potential cache issues if code changes are not picked up
rm -rf zig-out .zig-cache
zig build
# Run these in separate terminals:
./zig-out/bin/yoshunko-dpsv
./zig-out/bin/yoshunko-gamesvBuild Troubleshooting (@build.zig):
- Missing Protos: If
proto/pb/nap.protois missing, the build will skip the protocol generation step. Ensure your proto files are in place if you are modifying game messages. - Locked Binaries: If you get "Access Denied" or "Text file busy" during build, make sure to stop the running server instances first.
Verify the dispatch server is reachable from Windows. Open PowerShell and run:
curl "http://YOUR_WSL_IP:10100/query_dispatch?version=CNBetaWin2.5.4"You can use the pre-compiled hoyo-sdk-win64 or build it from source.
- Modification Note: The version provided in this project includes "risky" API patches to handle telemetry probes that would otherwise cause 404 errors and potentially block login.
- Setup: Ensure
sdk_server.tomlis configured to listen on127.0.0.1:20100. - Account: You MUST register an account via the SDK's web interface or database before attempting to log in.
Currently supported client version is CNBetaWin2.5.4. Apply the Tentacle client patch.
Important: You must create an account in hoyo-sdk first before you can log in to the game client.
If you found this fixed project useful, you can support me if you want here
Developer donations are located inside his website.
