原神 · 2022年12月11日 0

Official server leak 3.1-4.0 private backup

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