skynet的运用-mmo类型
来源:互联网 发布:淘宝如何设置客户权限 编辑:程序博客网 时间:2024/06/04 23:22
这是云风的一个开源项目skynet的一个mmo运用示例,也被云风列到wiki中的use列表中,对于了解服务器框架的开发非常有用(至少对我而言),wiki请看点我
git: https://github.com/jintiao/some-mmorpg
# tar -xzvf ./openssl-1.0.1t.tar.gz
移到第三方中
# mv openssl-1.0.1t/* some-mmorpg/3rd/openssl
配置编译(一定要enable-shared,否则报Bad value编译错误)
# cd some-mmorpg/3rd/openssl
# ./config –prefix=/usr/local/ssl –openssldir=/usr/local/ssl enable-shared
# make && make install
2、下载编译skynet到 some-mmorpg/3rd/skynet中
参照:https://github.com/cloudwu/skynet
3、编译some-mmorpg
# cd some-mmorpg/server
# make all
Q1:lua_cjson.c:597:58: error: macro “lua_integer2str” requires 3 arguments, but only 2 given
A:原因是不兼容lua5.3,参照云风维护的luacjson,将lua_cjson.c中597行
len = lua_integer2str(strbuf_empty_ptr(json), num);
修改为
len = sprintf(strbuf_empty_ptr(json), LUA_INTEGER_FMT, num);
Q2:lualib-src/lua-uuid.c:4:1: error: unknown type name ‘uint32_t’
A:最简答的修复方式直接包含头文件
A simple fix is to add the line
|#include <stdint.h>
3、运行
# cd some-mmorpg/server
# ./run
Q1:libcrypto.so.1.0.0: cannot open shared object file
A:建个软连接,/usr/lib64 中的so库链接到自己编译好的so,因为有些库加载时从原生库中加载
sudo ln -s /root/Desktop/some-mmorpg/3rd/openssl/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
(推荐)或者把编好的opensll 的libcrypto* 拷贝到 原生库中/usr/lib64/
# cd some-mmorpg/3rd/openssl/
# find . -name “libcrypto*”
./libcrypto.a
./libcrypto.pc
./libcrypto.so.1.0.0
./libcrypto.so
# cp libcrypto.* /usr/lib64/
Q1:NOAUTH Authentication required,Connect to 127.0.0.1:6379 failed (nil)
A:其实是redis开了密码验证,关掉redis的密码验证即可
[root@localhost server]# ./run
[:00000001] LAUNCH logger
[:00000002] LAUNCH snlua bootstrap
[:00000003] LAUNCH snlua launcher
[:00000004] LAUNCH snlua cdummy
[:00000005] LAUNCH harbor 0 4
[:00000006] LAUNCH snlua datacenterd
[:00000007] LAUNCH snlua service_mgr
[:00000008] LAUNCH snlua main
[:00000009] LAUNCH snlua debug_console 9333
[:00000009] Start debug console at 127.0.0.1 9333
[:0000000a] LAUNCH snlua protod
[:0000000b] LAUNCH snlua database
[:0000000c] LAUNCH snlua loginserver
[:0000000d] LAUNCH snlua loginslave
[:0000000e] LAUNCH snlua loginslave
[:0000000f] LAUNCH snlua loginslave
[:00000010] LAUNCH snlua loginslave
[:00000011] LAUNCH snlua loginslave
[:00000012] LAUNCH snlua loginslave
[:00000013] LAUNCH snlua loginslave
[:00000014] LAUNCH snlua loginslave
[:0000000c] N|listen on 0.0.0.0:9777
[:00000015] LAUNCH snlua gamed 12
[:00000015] N|listen on 0.0.0.0:9555
[:00000015] N|gamed opened
[:00000016] LAUNCH snlua agent 21
[:00000017] LAUNCH snlua sharedatad
[:00000018] LAUNCH snlua agent 21
[:00000019] LAUNCH snlua gdd
[:0000001a] LAUNCH snlua world
[:0000001b] LAUNCH snlua map 26
[:0000001c] LAUNCH snlua map 26
- skynet的运用-mmo类型
- 基于 skynet 的 MMO 服务器设计
- skynet运用【广播服务器的实现】
- 类型的运用
- 完美MMO的秘诀
- skynet源码分析【skynet名字的管理】
- 关于 id类型的运用
- skynet的学习过程
- 学习skynet的点滴
- skynet的定时器
- skynet的windows版本
- skynet的线程
- skynet的socket_server库
- skynet的一些整理
- skynet的sproto模块
- skynet的并发处理
- skynet
- Skynet
- Hdu-5775 Bubble Sort
- Word Ladder II
- Android中的MVC和MVP(分析+实例)
- Learning hierarchical representations for face verification with convolutional deep belief networks
- 通过Unicode传递中文,防止接收端出现乱码
- skynet的运用-mmo类型
- html - style 元素
- sap pp 详细讲解 生产结算 工单结算
- openSNS 使用关闭游客访问插件后注册头像无法上传问题解决。
- Tez上线部署记录
- 数据结构——线索化二叉树
- JAVA总结
- nlogn最长单调递增
- ASP.NET Core 开发-Logging 使用NLog 写日志文件