一个联网的开源格斗游戏demo - Websocket+UDP都支持啦 https://forum.cocos.org/t/topic/144489
Go to file
2022-10-03 23:54:38 +08:00
battle_srv Fixed timing for upsync confirmation merge. 2022-10-03 23:54:38 +08:00
database/skeema-repo-root Initial commit. 2022-09-20 23:52:55 +08:00
frontend Fixed timing for upsync confirmation merge. 2022-10-03 23:54:38 +08:00
nginx-templates Initial commit. 2022-09-20 23:52:55 +08:00
.gitattributes Initial commit. 2022-09-20 23:52:55 +08:00
.gitignore Initial commit. 2022-09-20 23:52:55 +08:00
ConcerningEdgeCases.md Minor fix on markdown file. 2022-09-30 23:32:26 +08:00
proto_gen_shortcut.sh Initial commit. 2022-09-20 23:52:55 +08:00
README.md Updated documentation. 2022-10-03 20:25:51 +08:00

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. Building & running

1.1 Golang1.19.1

Documentation TBD.

1.2 MySQL

The database product to be used for this project is MySQL 5.7, you can install and manage MySQL server by these scripts.

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. For Windows 10/11, you can compile skeema from source and config the host to be 127.0.0.1 instead of localhost to use it, i.e. circumventing the pitfall for MySQL unix socket connection on Windows.

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.

1.3 Required Config Files

1.3.1 Backend

  • It needs <proj-root>/battle_srv/configs/* which is generated by cd <proj-root>/battle_srv && cp -r ./configs.template ./configs and necessary customization.

1.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 plugin i18n"(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 by cd <proj-root>/frontend/assets/plugin_scripts && cp conf.js.template conf.js.

1.4 Troubleshooting

1.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.

2. Git configs cautions

Please make sure that you've set ignorecase = false in your [core] section of <proj-root>/.git/config.