Giter VIP home page Giter VIP logo

luopeiyu / million_game_server Goto Github PK

View Code? Open in Web Editor NEW
418.0 418.0 100.0 1.48 MB

《百万在线:大型游戏服务端开发》是C++与Lua方向游戏服务端开发的入门书籍,内容涵盖Skynet引擎、C++底层开发、服务端架构设计等多个方面,全景展现网络游戏核心技术。

JavaScript 0.22% Lua 5.75% Shell 0.01% PureBasic 0.02% CMake 0.13% C++ 5.94% Makefile 0.84% HTML 29.57% CSS 0.23% Roff 0.44% C 56.86%

million_game_server's People

Contributors

luopeiyu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

million_game_server's Issues

第五页下面有内容错误

你好,罗老师,阅读的时候,发现了如下问题,看看是不是内容打错了呢?
"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 上 对服务进行抽象,对常规的世界 角色 场景 战斗 数据共享这方面的知识。

2.8.6小节:使用代理的演示代码有错误

你好,罗老师。2.8.6小节的使用代理的演示代码有错误:
书中的代码如下:
image
最后一行的skynet.send的第五个参数应该为服务的地址,即变量ping1,不是字符串"ping1"。

3..6.8 登出流程的代码完善

image
这里加多一句代码,防止玩家还没完成登录时,agentmgr没有回复仲裁,而导致s.resp.kick没被调用,从而没有清空conns[fd]

gateway中s.resp.kick的disconnect调用没有意义吧

gateway的s.resp.kick中,先将conn对象销毁了,然后调用disconnect方法,而在disconnect方法中首先判断conn是否存在,如果不存在直接退出了,那这里调用disconnect方法没有意义吧。
conns[c.fd] = nil
disconnect(c.fd)

罗老师能教教我一下lua的语法吗?

P21的lua代码没有看懂,没了解过lua,查阅很多资料也没有介绍这种写法,local Role = function,按照我的理解这是定义了一个函数,函数里又包着M这个类对象和M这个类的成员函数,请问是这么理解的吗?原文中记住ROLE是个类,我不太理解,我始终觉得他是个函数。

agentmgr中存在漏洞

我尝试在agentmgr的s.resp.relogin回调方法的player.status=STATUS.LOGIN前面,sleep一小会,然后用两个客户端登录相同的账号,结果是两个账号都登录成功了,生成了两个agent服务。相同账号同时登录的情况应该是存在的,现实服务器开发过程中,这种问题如何避免?

现在有出版消息了吗?顺便问一下有否设计事务相关内容

主要关心skynet下多 actor 协作的事务问题,因为消息发送机制多个 actor 需要协作时,能否有事务来保证一系列操作的过程中,状态不会被破坏,需要失败后的回退机制,这在网游手游的游戏逻辑中太普遍了,请问书中有涉及这块吗?

没用第8章之后的代码

你好,书看了,感觉写还不错, 但第8章之后,就没用代码了吗,此外,有建什么交流学习的群吗

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.