天天看点

游戏服务器(一)开发环境 VScode + WSL 配置 及 redis 安装

项目在这里: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

下面也有说怎么

几个小点

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

更新即可

  1. 安装WSL2后,mobaXterm可以检测到并且可以一键链接,非常方便
    游戏服务器(一)开发环境 VScode + WSL 配置 及 redis 安装
  2. 可以顺便在微软商店安装windows终端,并且在终端设置里默认采用ubuntu启动
    游戏服务器(一)开发环境 VScode + WSL 配置 及 redis 安装
    可以在Ubuntu的配置文件里设置启动目录(即是共享文件夹,又是打开Ubuntu终端的一开始显示的目录)
    游戏服务器(一)开发环境 VScode + WSL 配置 及 redis 安装
  3. 安装 g++ / cmake / git

apt-get install g++

apt-get install cmake

apt-get install git

  1. 安装配置 mysql

    安装如下,配置待补:

apt-get install mysql-server
  1. 安装配置 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混用——丢失太多数据是不可容忍的。

差不多了

下一篇是项目实际的redis设计和架构设计