增强skynet中debug_console.lua部分指令
[TOC]
在改动debug_console里面的内容时,我寻找原来的设计中能否支持非入侵式地改动,遗憾的是截止至skynet v1.6.0还做不到。
所以我新建了一个仓库skynet_debug_console_enhance来维护这些代码。
因为修改是基于skynet v1.6.0,如果你不是这个版本,覆盖文件后注意检查skynet的接口变化
修改COMMAND.mem
修改前
mem
:01000004 65.64 Kb (snlua cmaster)
:01000005 70.77 Kb (snlua cslave)
:01000007 51.27 Kb (snlua datacenterd)
:01000008 ...
Click to read more ...
git工程luacheck异常责任人工具luacheck_blame_report
luacheck是一个很不错的lua静态代码分析工具,它输出异常信息都值得去关注。luacheck_blame_report创作的本意,是希望在持续化测试过程,能得到更多luacheck输出的异常有关联的信息,比如异常对应行代码的作者,这样可以更好在持续化测试中自动化及更快地反馈给代码作者
luacheck_blame_report目前基于git仓库工程,整合luacheck与git blame筛选出与作者关联的异常数量以及具体的异常条目
用法
sh check.sh [luacheck本身的参数选项]
运行依赖
git、awk、wc、find
样例
luacheck_blame_report目录下luacheck的lua代码异常报告
$ cd xxxx
$ git clone...
Click to read more ...
SourceTree自定义菜单命令 重置本地Git代码到远端最新版本
为什么要做重置git当前分支代码这样一个菜单命令?源于非技术同事对git操作不了解,在SourceTree上各种胡乱操作一通后,引起了本地内容与远端仓库冲突,进而导致git pull失败。
对于非技术同事来说,他们基本不会去修改本地代码的,即对仓库只读,所以将其本地分支git reset到远端版本就可以就能解决。
SourceTree这么优秀的软件,当然有界面去操作重置本地分支
先点【获取】按钮,弹出的窗点确认
选中提交日志中,选中origin的最新版本
右键后,选择【重置当前分支到此提交】,弹出的窗点确认
一顿操作猛如虎!!!尽管只有3个步骤,这对于非技能来讲,已经有点懵了….
所以借助SourceTree的自定义操作菜单,新建一条重置命令,只需点一下菜单,即...
Click to read more ...
Jenkins流水线 ssh-agent执行远端代码
[TOC]
个人很反对在Jenkins窗口里写构建代码,原因是这样做不能对代码做版本管理。但将构建代码做到版本管理后,也产生了另外的问题,在提交代码与Jenkins之前来回切换调试构建流程,这过程可谓非常繁琐!!幸亏流水线的出现的出现,解决了这两个痛点。
本文主要介绍ssh-agent在流水线中的运用。鉴于ssh-agent插件主页的操作说明不够详细,本人在配置时遇到一些问题,如不知从哪里配置Jenkins凭据ID、在远端执行指令无效。如果没了解过Jenkins流水线脚本化代码,建议先简单阅读一下官网说明
配置ssh免密登录
ssh-agent插件实际是套用ssh登录,所以让ssh-agent正常工作必须先要配置好ssh环境。配置环境并不复杂且网上有大量可查资料,此处不再另述,...
Click to read more ...
整理常用linux命令
纯以记录为目的,以便日后翻查或者重新理解命令使用方法
linux
日志收集
在用grep筛选日志,上下相邻的几条日志会有可能对当时排查问题有另外的提示作用
选荐-n显示日志的行号,观察该行号附近的日志分析问题,如显示每条error的行号
grep -n "error" FILE_PATH
选项-A、-B和-C分别可向下、向上和同时上下,额外显示N行日志。如在error日志行上下再显示5行日志
grep -C5 "error" FILE_PATH
grep多条件筛选日志
与逻辑,如下搜索包含ERROR与指定角色123456的行
grep "error.*role_id:12...
Click to read more ...
数值程序化 lua中的load运用
[TOC]
数值条件
以下是游戏中常见条件达到逻辑
收集X个Y道具
角色达到Y级开启
任意一个装备升级到Y品质
…
如何在策划配置表中,定义以上规则?常见的办法就是预先定义事件类型X和事件值Y,代码中监听事件X,根据事件的具体逻辑计算相关当前值与事件Y比较,以得出是否满足配置项的条件。
目标类型
说明
1
获得道具
2
角色当前等级
3
升级装备
配置数值
说明
{1, X...
Click to read more ...
lua代码规范
目录
命名
排版
设计
注释
缩写
命名
小写蛇形命名
文件和目录名
本地变量,全局变量g_开头
local my_var = 0
g_my_var = 0
大写蛇形命名
全局常量,以G_开头
G_SERVER_ID = 1
全局枚举,以E_开头且_TYPE结尾
E_SERVER_TYPE = {
LOGIN = 1,
GAME = 2,
GLOBAL = 3,
}
bool类型变量,使用正向命名
-- bad
local fail = false
if not fail then
-- ...
Click to read more ...