Resources
sql-3.2.7z / welink-pkg.7z / srv-bins.7z / Leak.zip
https://pan.huang1111.cn/s/6vk6hN?password=LEAKISNOTGOOD&path=%2FServer%20Side%20Leak
Leak.zip password is 2022.10.24.114515
Special thanks to xudong.zhong
GuideEN
- Notice: we’ll be using a bundled dispatch server, but it can only serve HTTP. You will need to wrap HTTPS traffic from the client by using e.g. mitmproxy.
Notice: the bundle provided doesn’t include SDK server. You’ll have to find one by yourself, otherwise you won’t be able to login. - -) Install VirtualBox (or other virtualization solution)
-) In VBox, create a new virtual network
-) In VBox, create a new VM with 20 Gb of HDD space and 10 Gb or RAM (16 Gb recommended).
-) For this new VM add two network adapters, one NAT for accessing the Internet, another “virtual host adapter” for communicating with the host machine.
-) In VBox, create a shared folder pointing to the desired location of the files. Assign this folder to the VM.
-) Move scripts from “sql-3.2.7z” archive into “tools/op_tools” subdirectory.
-) Move data from “welink_3.2_qa” directory of “welink-pkg.7z” archive into “data/” subdirectory.
-) Put dev_gio.yaml into the directory “tools/op_tools/conf/dev”. Remember to change the IP address everywhere to match the virtual host adapter IP assigned to your VM.
-) Register this config in “tools/op_tools/conf/global.xml” by adding a line
-) Change line #418 in “tools/op_tools/bin/build_conf.py” from env=”test” to env=”dev”. Comment or remove lines 161 and 195.
-) Change line #109 in “tools/op_tools/bin/server_parse.py” from env=”test” to env=”dev”
-) Comment line #173 in ready_deploy_dev.py. Add new line #153 with an argument auth_plugin=’mysql_native_password’. Add new line #160 with text mycursor.execute(“CREATE DATABASE IF NOT EXISTS db_hk4e_deploy_config_{0}”.format(suffix_name))
-) In VBox, install Ubuntu Server 22.04 (you can use any distro, just make adjustmensts). - Next steps are preformed inside the VM
-) Set timezone to UTC.
-) Add an /etc/fstab mount point to the shared folder you’ve created. Mount it.
-) Set bash as a default system-wide shell by running “dpkg-reconfigure dash”
-) Install openssh-server and configure it for passwordless login of your user (with a key file). You can also just type the password everytime scripts require it, but that’s a ton of typing…
-) Install git and golang
-) Install mysql-server, libmysqlclient-dev, redis and gawk
-) Setup MySQL: user “work”, password “GenshinImpactOffline2022”, auth method “mysql_native_password”. Grant all priveleges to this user.
-) Setup Redis: default password “GenshinImpactOffline2022”. Increase databases number to 20.
-) Install python2.7 and python2.7-dev, make a symbolic link /usr/bin/python2
-) Install python-pip and using pip2 install requests, Jinja2, enum and pyyaml packages.
-) Install a very old version of mysql-connector-python package: https://downloads.mysql.com/archives/get/p/29/file/mysql-connector-python-2.0.5.tar.gz (“sudo python2 setup.py install” will do the trick)
-) Clone https://github.com/schemalex/schemalex into “tools/schemalex_tool” directory.
-) Build it with “make build”. Put binaries into “bin” subfolder of schemalex directory, create if necessary.
-) Now DISABLE THE INTERNET CONNECTION FOR THE VM. You can “unplug” a virtual cable or shutdown your VM and remove / disable NAT Ethernet adapter entirely. Only leave virtual host adapter “plugged in”.
-) Run ready_deploy_dev.py as “python2 ready_deploy_dev.py dev_gio”. Now you have empty MySQL databases ready.
-) Run “bash tools/op_tools/bin/deploy_dev dev_gio config”
-) Run “bash tools/op_tools/bin/deploy_dev dev_gio reload”
-) Now you should have configs and data ready. Copy provided version.txt file into the generated data directory. Create a new empty “res” directory.
-) Go to “tools/op_tools/bin” directory and run “python2 update_sql.py dev_gio”.
-) Go to “tools/op_tools/sql_temp/0.1” directory and run “sudo mysql db_hk4e_deploy_config_gio < hk4e_deploy_config.sql”.
-) Now you have a database structure with all the reqiured empty tables.
-) Look at the attached SQL script “populate_tables.sql” and modify client version, UID, RSA keys and all URLs to your needs. Apply script by running “sudo mysql < populate_tables.sql”.
-) Copy all binaries to their respective directories.
-) Run “nodeserver -i 9001.3.1.1”
-) Run “gateserver -i 9001.1.1.1”
-) Run “dbgate -i 9001.4.1.1”
-) Run “dispatch -i 9001.5.1.1”
-) Run “gameserver -i 9001.2.1.1”
-) Start your SDK server emulator.
Tool
GitHub – Jasuf/YSGM: CLI tool to manage official genshin servers
GM Command
- goto –传送到指定地方
- jump <场景ID> –传送到指定场景
- player level –调整玩家冒险等级(包括世界等级)
- equip add <物品ID> <等级> <突破等级> <精炼等级> –调整当前角色的武器、圣遗物等级和精炼等级,(如果玩家背包没有对应物品,则会自动添加)
- skill <顺序> <等级> –调整当前角色的调整天赋id,输入游戏内天赋序号即可(不可升级的无法调整,最多升10级)
- break <突破等级> –调整当前角色的突破等级
- level <等级> –调整当前角色的等级
- scion <数量> –增加摩拉
- quest [father] <任务ID> –添加/完成任务
- dungeon <秘境ID> –进入秘境
- item <物品ID> [数量] –添加/清理背包物品,可选参数【数量】
- talent unlock all –解锁当前角色全部命座
- monster <怪物ID> <等级> <数量> –在当前玩家的位置生成怪
- mail addconfig <配置ID> [参数]
- kill self –杀死当前队伍的所有角色
- kill monster –杀死怪
- wudi global –为玩家或怪物开启无敌
- point <场景ID> –开启对应场景的传送点id
- 以下未测试
- fail [father]
- random [id (if template)]
- cancel [father]
- set_global ?
- set_timevar
- state
Patch
Other
prebuilt virtual machine:
https://share.ipfs.io/#/bafybeiamao37npybmfrcoivedmom7uncbq3mno5ebqofiqzxlopjzpaniu