基于lua服务器
来源:互联网 发布:平板电脑淘宝开店认证 编辑:程序博客网 时间:2024/06/15 15:17
http://blog.csdn.net/lalate/article/details/51498869
1> 显示运行状态;
2> 显示即时运行日志;
3> 发送公告;
4> 重启和关服;
5> lua调试功能;
6> gm验证相关;
7> 更新操作(静态表或lua);
服务器搭建:libEvent ace boost::asio
http://code.google.com/p/spserver/
- router: 数据转发,多进程按负载分担,支持点对点,广播,主从,哈希等几种常见的数据转发逻辑.
- gamesvr: 提供客户端接入逻辑,以及常规的游戏逻辑(如道具,商城,等等...), 多实例按负载分担.
- dbagent: 提供数据库访问服务,多进程按哈希分布.
- matchsvr: 提供战斗匹配服务,多进程主从备份.
方便在进程间通信:
代码自动热更新
lua 后期 基于 序列化和反序列化 远程调用
数据存储
skynet
// class 声明中需要插入一行 DECLARE_LUA_CLASS
class CPlayer
{
char m_szName[32];
int m_iLevel;
int luaSay(lua_State* L);
DECLARE_LUA_CLASS(CPlayer); // 声明导出CPlayer类
};
// 在 CPP 中增加如下的导出声明
IMPL_LUA_CLASS_BEGIN(CPlayer)
EXPORT_LUA_STRING(m_szName)
EXPORT_LUA_INT(m_iLevel)
EXPORT_LUA_FUNCTION(luaSay)
IMPL_LUA_CLASS_END()
int CPlayer::luaSay(lua_State* L)
{
// ...
return 0;
}
void OnPlayerLogin(lua_State* L, int iConnIdx, CPlayer* player)
{
CSafeStack guard(L);
// 除了获取文件中的函数,还有其他的相关的API
// 用来获取影子对象上的函数,以及全局 table 中的函数等等
Lua_GetFileFunction(L, "login.lua", "OnPlayerLogin");
lua_pushinteger(L, iConnIdx);
Lua_PushObject(L, player);
Lua_XCall(L, 2, 0);
}
function OnPlayerLogin(connIdx, player)
--访问成员变量: 读
log_debug("player login, name="..player.szName);
--访问成员变量: 写
player.iLevel = 1;
--调用成员函数
player.Say("皇上吉祥");
--在player对象上加入新的函数/变量
player.OnExit = function()
-- do something !
end
end
阅读全文
0 0
- 基于lua服务器
- 三、ESP8266之 TCP服务器(基于LUA开发)
- 基于 Redis lua流控
- c++ lua服务器框架
- lua实现更新服务器
- Lua 服务器Socket通信实例
- Lua 服务器与客户端实例
- lua游戏服务器热更新
- 新版Lua服务器下线处理
- lua面向对象与基于lua的状态机实现
- 基于服务器的计时器
- 游戏服务器(基于iocp)
- 基于TCP协议服务器
- 基于Lua的C/C++调试模块
- 基于wax的lua IOS插件开发
- 基于COCOS2D-X的lua版打怪减血特效
- 基于closure的lua面向对象编程
- 基于Lua的新语言NL
- 86. Partition List
- cdn学习
- HDU 2014 青年歌手大奖赛_评委会打分
- 第九章 JSP标签
- 667. Beautiful Arrangement II(Java)
- 基于lua服务器
- tf.shape(a)和a.get_shape()
- Js作用域与作用域链详解
- MyBatis框架中Mapper类中方法的返回类型问题解决方案
- 在ubuntu下python编码问题
- 【JZOJ5343】【NOIP模拟】健美猫(模拟)
- 分享下学习Kotlin的历程-数据类型(2)
- HDU 2015 偶数求和
- java 实现 计算tfidf 使用ik分词