luopeiyu / million_game_server Goto Github PK
View Code? Open in Web Editor NEW《百万在线:大型游戏服务端开发》是C++与Lua方向游戏服务端开发的入门书籍,内容涵盖Skynet引擎、C++底层开发、服务端架构设计等多个方面,全景展现网络游戏核心技术。
《百万在线:大型游戏服务端开发》是C++与Lua方向游戏服务端开发的入门书籍,内容涵盖Skynet引擎、C++底层开发、服务端架构设计等多个方面,全景展现网络游戏核心技术。
你好,罗老师,阅读的时候,发现了如下问题,看看是不是内容打错了呢?
"1. IP 和端口"
下面这一段的倒数第二行:“地址‘127.0.0.1:8003’ 中的 '127.0.03' 是 IP”
这里,前后的内容有点不搭。
[root@iZbp1j690hvz1x9t0yq6ygZ soleTownServer]# ls
etc luaclib lualib service skynet start.sh
[root@iZbp1j690hvz1x9t0yq6ygZ soleTownServer]# sh start.sh
[skynet config]:17: ././etc/config.node: No such file or directory
[root@iZbp1j690hvz1x9t0yq6ygZ soleTownServer]#
start.sh
./skynet/skynet ./etc/config.node$1
如果这样
[root@iZbp1j690hvz1x9t0yq6ygZ soleTownServer]# ./skynet/skynet ./etc/config.node1
[:00000002] LAUNCH snlua bootstrap
[:00000002] lua loader error : error loading module 'skynet' from file './skynet/luaclib/skynet.so':
./skynet/luaclib/skynet.so: undefined symbol: luaopen_skynet
stack traceback:
[C]: in ?
[C]: in function 'require'
./skynet/service/bootstrap.lua:1: in local 'main'
./skynet/lualib/loader.lua:48: in main chunk
[:00000002] KILL self
就我看而言这本书就是对于用sk为例讲解一些例子。
对于sk底层的工作机制也是浅尝辄止。
对于如何驾驭 sk 还是感觉啥了点什么东西。
我很想看到 如何在 sk 上 对服务进行抽象,对常规的世界 角色 场景 战斗 数据共享这方面的知识。
尝试把SocketWorker::epollFd
改成全局变量
感谢
million_game_server/Chapter4/rill4/lualib/cjson.so
书中的百度网盘链接过期了,能否发一份,谢谢了,可以直接发这里,也可以发我邮箱:[email protected]
gateway的s.resp.kick中,先将conn对象销毁了,然后调用disconnect方法,而在disconnect方法中首先判断conn是否存在,如果不存在直接退出了,那这里调用disconnect方法没有意义吧。
conns[c.fd] = nil
disconnect(c.fd)
建议建一个本书的读者群,以便勘误、交流
想配合服务端跑起来
使用作者提供的代码,无法正常登录
提示: s.resp.client fail nil
P21的lua代码没有看懂,没了解过lua,查阅很多资料也没有介绍这种写法,local Role = function,按照我的理解这是定义了一个函数,函数里又包着M这个类对象和M这个类的成员函数,请问是这么理解的吗?原文中记住ROLE是个类,我不太理解,我始终觉得他是个函数。
我尝试在agentmgr的s.resp.relogin回调方法的player.status=STATUS.LOGIN前面,sleep一小会,然后用两个客户端登录相同的账号,结果是两个账号都登录成功了,生成了两个agent服务。相同账号同时登录的情况应该是存在的,现实服务器开发过程中,这种问题如何避免?
主要关心skynet下多 actor 协作的事务问题,因为消息发送机制多个 actor 需要协作时,能否有事务来保证一系列操作的过程中,状态不会被破坏,需要失败后的回退机制,这在网游手游的游戏逻辑中太普遍了,请问书中有涉及这块吗?
目前文件编码为GBK,在很多环境里中文是乱码,建议改为通用的UTF-8格式
尝试搜索了一下没有找到相关内容
多线程有问题吧
你好,书看了,感觉写还不错, 但第8章之后,就没用代码了吗,此外,有建什么交流学习的群吗
在线调试
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.