摘要: 开发记录 角色登入 选择角色进入游戏并能走动(处理来自客户端的登入请求 ) 经过测试其中角色进入游戏需要发送的最少数据包及顺序如下: S_OPCODE_HOUSEMAP S_OPCODE_LOGINTOGAME 4个空字节 S_OPCODE_OWNCHARSTATUS S_OPCODE_MAPID 阅读全文
posted @ 2017-10-14 12:14 银魔术师 阅读(546) 评论(0) 推荐(0) 编辑
摘要: 开发记录 道具使用 能够喝药水、使用武器、使用装备、选择箭矢 Java版本的道具使用将所有逻辑都写在了一个函数中,不方便后期添加和调试,于是我重构了下,道具使用分为材料道具使用(etcitem)、武器道具使用(weapon)和防具道具使用(armor) C_ItemUse 道具使用主流程,做一些共性 阅读全文
posted @ 2017-10-14 12:14 银魔术师 阅读(468) 评论(0) 推荐(0) 编辑
摘要: 开发记录 状态魔法使用 下面是服务器接收到C_LoginToServer后产生的日志,角色在登入后使用了敏捷提升、力量提升、加速术和神圣魔法武器 [Send C] 0000: 79 04 00 40 30 00 00 00 y..@0... [Send Encrypt C] 0000: fe af 阅读全文
posted @ 2017-10-14 12:14 银魔术师 阅读(677) 评论(0) 推荐(0) 编辑
摘要: 开发记录 角色创建 完成数据库的插入 客户端的正常显示 Object 天堂对象抽象: 属性: 对象资源唯一标识 对象所在地图 对象在地图内的位置 方法: 更新画面内的对象 计算与其他对象的距离 响应其他对象的对话而采取的行为 响应其他对象而采取的行为 需要实现: 全局唯一标识的获取:IdFactor 阅读全文
posted @ 2017-10-14 12:13 银魔术师 阅读(515) 评论(0) 推荐(0) 编辑
摘要: 开发日志 (一)游戏服务器主体框架 最初想法是使用 的`StreamServer coroutine`的方式来替代源码的多线程方式,但是本身对python语言不太熟悉,怕影响后期的调试,所以暂时还是和源码保持一致使用原始的多线程。相关文件:Server.py、GameServer.py、Client 阅读全文
posted @ 2017-10-14 12:12 银魔术师 阅读(1226) 评论(0) 推荐(0) 编辑
摘要: 硬件环境 角色 类型 操作系统 配置 Server VMWare虚拟机 Windows 7 内存:2GB 磁盘:20GB Client VMWare虚拟机 Ubuntu 16.04 TLS 内存:1GB 磁盘:30GB 软件环境 Server节点配置 网络配置 # vim /etc/network/ 阅读全文
posted @ 2017-10-14 12:10 银魔术师 阅读(746) 评论(0) 推荐(0) 编辑
摘要: 问题描述 在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突,具体为: 丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新; 脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。 阅读全文
posted @ 2017-10-14 12:01 银魔术师 阅读(469) 评论(0) 推荐(0) 编辑
摘要: 环境配置 | 节点 | 配置 | 类型 | 操作系统 | | | | | | | Sched | 2G 2CPU 50GB ens3= 192.168.200.11 | KVM虚拟机 | CentOS 7 | | Nova | 4G 2CPU 50GB ens3= 192.168.2000.12 | 阅读全文
posted @ 2017-10-14 11:59 银魔术师 阅读(2090) 评论(0) 推荐(0) 编辑
摘要: 基础环境 安装docker 验证安装 配置Kibana 参考文档 "Docker Logging via EFK (Elasticsearch + Fluentd + Kibana) Stack with Docker Compose" 阅读全文
posted @ 2017-10-14 11:59 银魔术师 阅读(565) 评论(0) 推荐(0) 编辑
摘要: filter初级 Logstash安装 ruby语法基本使用 filter高级用法 grok插件 自定义正则: 将需要提取的正则表达式用 括起来,然后使用 的固定语法格式给匹配项打上标签 内置正则: 使用 "内置正则地址" 如果想要给一串很长的字符的很多字段都打上标签,即多个自定义组合的情况,那么正 阅读全文
posted @ 2017-10-14 11:58 银魔术师 阅读(3770) 评论(0) 推荐(0) 编辑
摘要: 环境配置 | 节点 | 配置 | 类型 | 操作系统 | | | | | | | Sched | 2G 2CPU 50GB ens3= 192.168.200.11 | KVM虚拟机 | CentOS 7 | | Nova | 4G 2CPU 50GB ens3= 192.168.2000.12 | 阅读全文
posted @ 2017-10-14 11:57 银魔术师 阅读(811) 评论(0) 推荐(0) 编辑
摘要: 基本用法 基础环境 | 操作系统 | 硬件配置 | | | | | CentOS 7 Server | 磁盘:40GB 内存:8GB 网卡:ens3(外网) | 网络配置 部署Collectd 安装Collectd 配置Collectd 高级用法 输出信息到kafka 下载collectd源码包 修 阅读全文
posted @ 2017-10-14 11:53 银魔术师 阅读(2446) 评论(0) 推荐(0) 编辑
摘要: 参考文档 "haproxy使用详解" "haproxy配置范例" 配置范例 开启日志 TCP代理配置 基本配置说明 全局配置段 global 全局设置:定义haproxy进程管理安全及性能相关的参数 log 127.0.0.1 local0 日志输出配置,所有日志都记录在本机,通过local0输出 阅读全文
posted @ 2017-10-14 11:52 银魔术师 阅读(669) 评论(0) 推荐(0) 编辑
摘要: 使用docker部署kafka 基础环境 | 操作系统 | 硬件配置 | | | | | CentOS 7 Server | 磁盘:40GB 内存:8GB 网卡:ens3(外网) | 网络配置 基础环境配置 安装PIP 安装PIP编译环境 安装docker 配置docker环境 参考文档 "Land 阅读全文
posted @ 2017-10-14 11:52 银魔术师 阅读(1570) 评论(0) 推荐(0) 编辑
摘要: 基本实验 参考文档 "博文地址" 环境拓扑 下面使我们要实现的负载均衡集群图示 主节点地址: 92.0.0.11 从节点地址: 92.0.0.12 共享虚拟地址:92.0.0.8 下面是负载均衡集群可能出现的两种场景(当主节点故障时,将从图1切换到图2) Application服务可以部署到其他主机 阅读全文
posted @ 2017-10-14 11:50 银魔术师 阅读(1062) 评论(0) 推荐(0) 编辑
摘要: 常用方法 ternary 根据结果的真假来决定返回值 vg_result.rc不为0返回dir,否则返回lvm if语法 根据结果的真假来决定返回值 when中使用jinja2 when表达式中不建议直接使用 {{}} 的方式来获取变量值,如果变量是字符串可以使用管道操作 | string 来获取变 阅读全文
posted @ 2017-10-14 11:46 银魔术师 阅读(2113) 评论(0) 推荐(0) 编辑
摘要: 你将学到什么 如何使用playbook 如何编写playbook 如何使用roles PlayBook使用 基础环境 简单的playbook 执行playbook 样例playbook 下载样例 修改样例配置文件 执行playbook 出错处理 问题1 解决办法 问题2 解决办法 roles使用 r 阅读全文
posted @ 2017-10-14 11:45 银魔术师 阅读(4553) 评论(0) 推荐(0) 编辑
摘要: 文件操作 文件创建 file 用于设置文件/链接/目录的属性,或者删除文件/链接/目录 修改文件 lineinfile 用于检测文件是否存在特殊行或者使用后端正则表达式来替换匹配到的特殊行 replace lineinfile的多行匹配版本,此模块会在文件中插入一段内容,并在内容开始和结束位置设置标 阅读全文
posted @ 2017-10-14 11:45 银魔术师 阅读(6432) 评论(0) 推荐(0) 编辑
摘要: 你将学到什么 如何配置ansible运行环境 如何执行ansible命令 如何配置Inventory 环境 | 角色 | 操作系统 | 网络地址 | | | | | | 管理主机 | ubuntu 14.04 TLS | 192.168.200.250 | | 托管节点 | ubuntu 16.04 阅读全文
posted @ 2017-10-14 11:44 银魔术师 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 使用脚本自动安装 阿里云的安装脚本 手动安装 添加 yum 源 虽然 CentOS 软件源 中有 Docker,名为 ,但是不建议使用系统源中的这个版本,它的版本相对比较陈旧,而且并非 Docker 官方维护的版本。因此,我们需要使用 Docker 官方提供的 CentOS 软件源。 执行下面的命令 阅读全文
posted @ 2017-10-14 11:43 银魔术师 阅读(207) 评论(0) 推荐(0) 编辑