battle_srv | ||
database/skeema-repo-root | ||
frontend | ||
nginx-templates | ||
.gitattributes | ||
.gitignore | ||
proto_gen_shortcut.sh | ||
README.md |
0. Preface
If you'd like to play with the backend code seriously, please read the detailed explanation of its important "lifecycle events" in this note.
There could be some left over wechat-game related code pieces, but they're neither meant to work nor supported anymore.
1. Database Server
The database product to be used for this project is MySQL 5.7.
We use skeema for schematic synchronization under <proj-root>/database/skeema-repo-root/
which intentionally doesn't contain a .skeema
file. Please read this tutorial for more information.
You can use this node module (still under development) instead under Windows10
, other versions of Windows are not yet tested for compatibility.
The following command(s)
### Optional.
user@proj-root/database/skeema-repo-root> cp .skeema.template .skeema
###
user@proj-root/database/skeema-repo-root> skeema diff
is recommended to be used for checking difference from your "live MySQL server" to the latest expected schema tracked in git.
2. Building & running
2.1 Golang1.11
See https://github.com/genxium/Go111ModulePrac for details.
2.2 MySQL
On a product machine, you can install and manage MySQL
server by these scripts.
2.3 Required Config Files
2.3.1 Backend
- It needs
<proj-root>/battle_srv/configs/*
which is generated bycd <proj-root>/battle_srv && cp -r ./configs.template ./configs
and necessary customization.
2.3.2 Frontend
- It needs CocosCreator v2.2.1 to build.
- A required "CocosCreator plugin
i18n
" is already enclosed in the project, if you have a globally installed "CocosCreator plugini18n
"(often located at$HOME/.CocosCreator/packages/
) they should be OK to co-exist. - It needs
<proj-root>/frontend/assets/plugin_scripts/conf.js
which is generated bycd <proj-root>/frontend/assets/plugin_scripts && cp conf.js.template conf.js
.
2.4 Troubleshooting
2.4.1 Redis snapshot writing failure
ErrFatal {"err": "MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error."}
Just restart your redis-server
process.
3. Git configs cautions
Please make sure that you've set ignorecase = false
in your [core] section of <proj-root>/.git/config
.