Read the full detailed guide in file GIO guide book for braindead
or read the quick start below if you are very skilled
- Put server bins to the
server
folder - Put server data (json, lua, txt, xml, version.txt) to the
server/data
folder - Run docker using
bootstrap.bat
for Windows orbootstrap.sh
for Linux. Please don't use commands likedocker-compose up -d
ordocker compose up -d
- Run fiddler, set up the fiddler script (
fiddler-script.txt
), usebat
/sh
only - Make sure you patched the game using UserAssembly.dll for Grasscutter (or RSA Patch since 3.3). Read the full guide if you dunno how to patch it
- Wait for 15-30 minutes (Yes, it isn't a joke)
- Run the game, play
- If you want to make a public server - change
OUTER_IP
in.env
file to your server ip, delete.bootstrap.lock
file and rerunbootstrap
bat
/sh
script (this action will erase all your database with the game progress). If you don't want to loose your progress - search%OUTER_IP%
inxml.tmpl
files and open relatedxml
files without.tmpl
extension and replace old IP to new IP in.xml
files (not in.xml.tmpl
- DON'T replace%OUTER_IP%
in.xml.tmpl
, edit only.xml
files). Also search%OUTER_IP%
in.sql.tmpl
and see where you should change IP in real database (use phpmyadmin/adminer). DON'T replace%OUTER_IP%
in.sql.tmpl
- replace only in real database.
- All services use network with subnet
172.10.3.0/24
- Following services are masked (disabled) by using profile
donotstart
:- oaserver
- pathfindingserver
- tothemoonserver
- Following ports need to be open if you plan to expose your server to public:
21081/udp
forgateserver
21000/tcp
for SDK server
- R/W MySQL user is set to
hk4e_work
and R/O tohk4e_readonly
; both accounts have their password set tomiHoYo2012
- Redis password is set to
miHoYo2012
muipserver
's signing key is set to9H2UrJ5J4yZJf95FqMkqi628snEmzvyV9oAp
- All passwords in .env file
- Adminer instance is available on
127.0.0.1:8085
, use root as login and see password in .env file - PHPMyAdmin instance is available on
127.0.0.1:8087
, use root as login and see password in .env file - SDK server has password verification disabled by default; use
enable_password_verify
option inconfig.json
to control it - SDK server has guest accounts enabled by default; use
enable_server_guest
option inconfig.json
to control it - Services have
DEBUG
logs masked (disabled) by default; useRoot.LogConf.LogLevelMask
option to control it
Use patched UserAssembly.dll
/RSAPatch.dll
/Metadata
for Grusscutter because these patches have same RSA keys as in the current database, see table:
hk4e_db.hk4e_db_deploy_config.t_rsakey_config
All RSA keys at the beginning are added to the database through a file data.sql
(will be generated from data.sql.tmpl
)
Also you can you special RSA patcher by Hotaru
and add key for password too, for example:
<RSAKeyValue><Modulus>x6DXVi3/8v/9W0kbDjAi/96yoZG30Fydk7hWxdR4dpqKP0M58aLScwmd49c1i+uUGmGNmSSP0yqH2gFr6QS3yhBTnvQ3cs1UYG/j1PAHUs263pQy5gZay7RW41G+Vm2cL1AzuXpoEQ9JXDpTbOlGwl8pin+enVSYjXAwLrOQKSVRC6vrlnjDX8ozf7mPCC8h7w2XfBfsmuL+K8UvE6KDKQshQYppjDSGi8AtsFScIUmTMmXYPjWdP+gN/iD2M/vjXQAvlunSvXkHgWJ2bo/45cfFbXlxrRfStdri3SC16yFaTR6FbPh+cwci1RSZE/G1yA4hjB4UdYrb/hsYfMpK7w==</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>
<RSAKeyValue><Modulus>yeF8n3X+VkwIhAdEK6Mp9ZGMW37N9tLWAlRnLkQ/7XccC7fim0LtK4FqEZLgnRvoPj0kWEhi6lWiY8v2gPdkKXhLqyTu/Cc2Ug+Let7U9t6Ez3gIdt3m5p499mbRFhx8ZuvZb6Q9I4++UXYWEfNisWADGOBl5qJD23FnMcTzjis=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>