# 前言 学习[skynet](https://github.com/cloudwu/skynet)时撸出来的简单服务器,欢迎吐槽。 完成度很低,已实现功能有: * 登陆 * 角色创建 * 地图内移动 * 攻击 * aoi # 编译及安装 ## 编译依赖 ### 3rd/openssl 程序中用到了openssl中的crypto库,请将crypto编译成**静态库**。 [参考文档](https://wiki.openssl.org/index.php/Compilation_and_Installation)。 对于64linux系统,可尝试用命令 "./Configure linux-x86_64 no-shared -fPIC; make"进行编译。 如果编译出错,请自行google解决。 ### 3rd/skynet [参考文档](https://github.com/cloudwu/skynet)。 ## 安装 1. 先安装redis 2. 执行 tool/setup/setup 脚本,它会在项目根目录下创建一个var目录,创建好数据库需要的文件和管理脚本。 ## 运行 1. 运行 var/redis-start 脚本,启动好对应的数据库实例。 2. 运行 server/run 脚本,启动服务器程序。 # 客户端 供测试用的客户端在 client 目录通过命令 “lua client.lua”或者脚本 “./run” 运行。 client.lua 接受用户名、密码作为命令行参数 “lua client.lua username password”,如果留空,则由程序自动生成一个用户名,保存在本地 anonymous 文件中。 client.lua 会自动完成登陆相关的流程,然后等待用户输入。 用户输入以回车结束,输入内容将打包发送至服务器。 输入的格式为 “命令 参数”,全部命令请参考 common/proto/game_proto.lua 文件中的 game_proto.c2s 一个常见的client命令流程是这样的: ```lua cd client ./run character_create character = { name = “hello”, race = “human”, class = “warrior” } character_list character_pick id = 4 map_ready move pos = { x = 123, z = 321 } combat target = 7 ``` # 其他 详细说明请移步 [wiki](https://github.com/jintiao/some-mmorpg/wiki)