# Tanks_Server_StepLock **Repository Path**: jacob_ddl/Tanks_Server_StepLock ## Basic Information - **Project Name**: Tanks_Server_StepLock - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2017-07-16 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 巨人网络技术部Lua手游服务器框架. 实现了一个轻量的手游服务器。 C++代码一万行左右,一个中级程序员可在半天内理解整个架构并开发。 而征途服务器有100万行C++,一个高级程序员需要半年时间阅读代码才能大概熟悉。 轻量的目的是容易理解。 希望新创建的手游项目优先采用该服务器,同时部分模块可以提供给征途服务器, 推动征途服务器代码的演进。 采用该服务器,手游开发团队仅需配置一名中级C++程序员(Lua编程可现学现用), 一个月内即可开发出核心玩法提供测试。后续深入开发仅需添加Lua脚本程序员。 为实现轻量,服务器一方面需用Lua脚本处理游戏逻辑,另一方面是采用第三方库。 游戏逻辑默认为Lua实现,部分性能要求高的逻辑可C++实现,如寻路,AI行为树。 采用现成的代码库,可以使简化设计,提高代码可靠性,性能上也有保证。 采用Lua脚本的目的是让U3d客户端人员可以开发服务器脚本,尽量做到服务器客户端共享脚本。 # 特性 * 采用protobuf定义服务,以RPC语义通信。 * 用Lua实现逻辑。Lua可热更新,实现逻辑更新,但不会丢失数据。 * 分布式系统架构,以提高可用性。可加机器扩容。 * 支持异步操作 MongoDb, Redis * 跨平台,可Windows上开发并调试,Linux上运营 * 可动态配置的日志,可临时打开并闭调试某类日志 * 服务器内部可直接跨服调用Lua脚本 # 非特性 未来会实现,但是近期不太可能实现的功能有:地图,寻路,AI. 所以目前本服务器仅适合开房间式的游戏,还不能用于带地图的MMORPG。 # 子目录说明 * bin
编译输出目录,也是执行目录。 * build
Windows下构建,包括premake脚本,VS工程和编译输出 * deps
依赖库(git submodule) * doc
文档 * scripts
lua脚本 * src
源码目录 * tests
一些测试代码 * tools
工具 # 文件说明 * findexp
find脚本 * README.md
本文 * todo.txt
待办列表 # 编译及启动 详见: build/ReadMe.txt bin/ReadMe.txt # WOA U3d 客户端测试 要求 U3d 5.3 或更高。 猫狗大战(War Of Animals, WOA)客户端在公司SVN服务器: https://192.168.150.238/svn/GiantCode/TechDept/GameBox/trunk/code/games/WOA 测试时,需修改服务器地址与端口,打开scene main, 在Hierarchy界面中选对象 _SceneCenterObject, 在Inspector界面的最下方修改属性: Giant Server IP : 127.0.0.1 Giant Server Port : 8003 # 其他 * 系统架构: doc/architecture.txt * redis 本机测试可安装Windows版: https://github.com/MSOpenTech/redis/releases windows下使用RedisCluster集群: http://blog.csdn.net/yubinpll9110/article/details/51579307