項目在這裡:https://gitee.com/zizaihuan/untitled_game,新手不易求支援❥(^_-)
1、使用VScode和WSL開發
wsl2安裝
https://docs.microsoft.com/zh-cn/windows/wsl/install-win10
https://zhuanlan.zhihu.com/p/147493558
下面也有說怎麼
幾個小點
-
一些linux裡的設定
使用su
sudo passwd root
使用su進入root權限
apt-get源修改為阿裡雲源
在root權限下把/etc/apt/sources.list的archive.ubuntu.com改成mirrors.aliyun.com,
可以用vim進入,輸入
:%s/archive.ubuntu.com/mirrors.aliyun.com/g
進行全局替換,然後運作
apt-get update
apt-get upgrade
更新即可
- 安裝WSL2後,mobaXterm可以檢測到并且可以一鍵連結,非常友善
遊戲伺服器(一)開發環境 VScode + WSL 配置 及 redis 安裝 - 可以順便在微軟商店安裝windows終端,并且在終端設定裡預設采用ubuntu啟動 可以在Ubuntu的配置檔案裡設定啟動目錄(即是共享檔案夾,又是打開Ubuntu終端的一開始顯示的目錄)
遊戲伺服器(一)開發環境 VScode + WSL 配置 及 redis 安裝 遊戲伺服器(一)開發環境 VScode + WSL 配置 及 redis 安裝 - 安裝 g++ / cmake / git
apt-get install g++
apt-get install cmake
apt-get install git
-
安裝配置 mysql
安裝如下,配置待補:
apt-get install mysql-server
- 安裝配置 redis
此處我不采用 apt-get install redis-server(因為版本隻有5.0.1),而是直接去官網擷取最新版本
git clone git://github.com/redis/redis.git
cd redis/
按照官網的說法,可以先按安裝這兩個,分别用以支援systemd和ssl。
apt-get install libsystemd-dev
apt-get install libssl-dev
apt-get install pkg-config(根據安裝報錯資訊安裝)
make BUILD_TLS=yes USE_SYSTEMD=yes
之後可以運作測試:
apt-get install tcl(根據測試報錯資訊安裝)
make test
如果提示逾時錯誤
!!! WARNING The following tests failed:
*** [err]: MULTI-EXEC body and script timeout in tests/unit/multi.tcl
可能不是 multi.tcl 這個檔案,也可能會提示别的。進去你報錯的這個檔案,把兩個after的地方修改,這兩個地方的值預設是200,我都修改成了500。
https://blog.csdn.net/qq_36314960/article/details/82193673
https://www.cnblogs.com/northwest332/p/14450299.html
這些個測試逾時的原因應該是有的處理器過于垃圾(比如低價雲伺服器),駕馭不了測試腳本,導緻爆出測試逾時的錯誤,把時間修改得寬松一點,測試就能通過了。
如果出現大概如下的錯誤:
Can’t start the Redis server
https://www.baidu.com/link?url=ekuQJobnX44_y0s-Cy4XoSQ1NqJXSjmbcx15H3sw93_pns54MHQav67EsV5FNZxFNT_DMHQk-ytCedZ6oG-cnK&wd=&eqid=eb9180b50001c90f00000006611c92e2
和
Bind on unix socket: Operation not permitted”
[exception]: Executing test client: can’t read “stat_terminated_by_signal”: no such variable
我想了想,可能是我把redis檔案夾放在挂載目錄/mnt/共享檔案夾下,這樣可能不行?,是以我就把這些檔案全部放到 /root 下,并且啟動 make test,這下就行雲流水一氣呵成了。
然後是安裝:make install
安裝後可以再測試:make test
同時記得這個指令:make distclean,在git pull更新後可以使用
建立一個 redis-data 的檔案夾,用來存放redis的各種檔案,如運作需要的config、運作中産生的log檔案、rdb、aof檔案、pid檔案等。
把 redis 下的 redis.config 檔案夾 copy 到 redis-data 下
具體如何配置 redis.config 我之後會出一篇部落格談談。
// 啟動 redis
redis-server redis.config
// 連接配接 redis
redis-cli
shutdown關閉
vscode
https://docs.microsoft.com/zh-cn/windows/wsl/tutorials/wsl-vscode
c/c++基本配置
https://code.visualstudio.com/docs/cpp/config-wsl
2、實際項目的設計與配置
關于一緻性的問題,需要将mysql資料同步到redis,可以用go-mysql-transfer等工具。但是我時間很少,搞這些太麻煩。
為了絕對的開發效率,讀寫都通過redis進行。
有時間的話我才會考慮對于一些需要持久化的,比如角色等級、屬性、道具、戰鬥日志等,儲存到 mysql。
也就是說前期先不考慮 mysql 的事
把 Redis 開啟RDB、AOF混用——丢失太多資料是不可容忍的。
差不多了