- 博客(880)
- 资源 (135)
- 收藏
- 关注
原创 ubuntu设置永不休眠
Ubuntu服务器防休眠设置指南 摘要:针对Ubuntu服务器频繁休眠问题,可通过以下步骤彻底禁用休眠功能:1) 使用systemctl mask命令屏蔽sleep/suspend/hibernate/hybrid-sleep四个目标服务;2) 关闭桌面自动空闲休眠设置,包括设置GNOME会话的空闲延迟为0,禁用交流电和电池模式下的自动挂起超时。执行后通过systemctl status确认所有休眠目标状态为masked(dead),确保系统在任何情况下都不会自动进入休眠状态,适合需要长期稳定运行的服务器环
2026-05-08 17:29:25
114
原创 mongo数据库备份-宝塔默认备份失败
MongoDB数据库备份实践总结:1)失败案例显示权限不足导致备份中断;2)成功案例通过宝塔定时任务实现自动化备份,包含创建备份目录、执行mongodump命令、压缩备份文件及清理7天前旧文件的全流程;3)手动备份方案提供了基础命令参考。关键点在于确保目录权限(777)和正确配置mongodump参数,建议采用自动化方案提高备份可靠性。
2026-04-15 09:34:52
55
原创 跨域问题 CORS
摘要:在Chrome开发调试时,通过添加--disable-web-security和--user-data-dir参数可禁用同源策略,绕过跨域限制。该参数会关闭浏览器的安全防护,允许任意网站调用接口而不报跨域错误。使用时需新建用户数据目录(如"C:/ChromeDevSession"),但需注意这是仅适用于开发的临时方案,存在安全隐患,不建议在生产环境中使用。
2026-04-14 15:43:31
202
原创 飞书设置服务器异常消息
本文介绍了一个基于Lua脚本的服务器监控系统,通过飞书机器人实现资源告警功能。系统监控CPU、内存和磁盘使用率,当超过预设阈值(CPU90%、内存90%、磁盘90%)时自动发送报警信息到飞书群聊。实现方案包括:1) 通过读取/proc/stat计算CPU使用率;2) 使用free和df命令获取内存和磁盘信息;3) 通过HTTP请求调用飞书Webhook接口发送告警;4) 设置5分钟冷却时间避免频繁告警。部署时需要在飞书群聊中添加自定义机器人并配置Webhook URL,建议设置"报警"作
2026-03-31 14:44:20
135
原创 WSL 文件句柄打开限制 ulimit -n 有硬限制上限 4096
本文介绍了在WSL中修改系统配置的方法。首先通过sudo nano命令编辑/etc/wsl.conf文件,添加包含boot、files、network和ulimit四个模块的配置内容,其中重点将软硬限制都设置为65535。配置完成后,使用ulimit -n命令验证修改是否成功。该操作主要涉及WSL的系统参数调整,特别是进程资源限制的设置。
2026-03-24 17:25:49
62
1
原创 【lua】loop is executed at most oncelua-analyzer(512)
Lua中出现"假循环"警告意味着循环结构(如for、while或repeat)中的代码在第一次迭代就会跳出,导致循环无法继续执行。这通常是由于循环条件设置不当或循环体内过早使用了break等中断语句造成的。开发者需要检查循环逻辑,确保循环能按预期执行多次迭代。
2026-03-18 11:24:41
79
原创 skynet call可能引发的bug
skynet.call 是同步阻塞(协程级),if 判断仅在执行瞬间有效,call 阻塞期间变量可能被其他消息修改。
2026-03-09 16:36:09
156
原创 skynet指定的多个服务绑定同一个线程
摘要:为了解决Skynet框架中多个服务共享线程导致的资源分配不均问题,提出了线程代理方案。通过thread_proxy.lua服务将多个轻量级但要求不卡顿的服务绑定到同一个指定线程(如线程3),实现线程资源共享。该方案包含三个关键组件:1)线程代理服务负责绑定线程和消息转发;2)目标服务通过注册到代理服务实现业务逻辑;3)节点入口统一管理服务启动和测试。这种方法既保证了关键服务的响应性能,又避免了线程资源浪费,解决了"线程饥饿"问题。
2026-03-06 09:31:38
94
原创 skynet位操作,利用位操作节省内存
摘要:本文展示了使用位运算进行状态管理的Lua实现方法。通过定义STATUS_ONLINE等状态常量,演示了如何设置组合状态(按位或)、检查特定状态(按位与)、移除状态(按位非+与)和切换状态(异或)。进阶部分提供了get_bit和set_bit函数,支持任意位的读取和修改,包含参数校验和位运算处理逻辑。这些方法适用于需要高效存储多个布尔状态的场景,如玩家状态管理。
2026-01-30 09:50:15
156
原创 Too many open files
摘要:在WSL环境下进行机器人压测时发现,当并发数达到1000时报错,而900时正常。经分析是WSL对openfiles的硬限制(1024)导致句柄数不足。短期可通过sudo提升会话限制并优化代码,长期建议迁移到原生Linux环境以彻底解决该兼容性问题。关键命令包括检查ulimit限制和统计进程句柄数。
2025-12-23 11:28:58
432
原创 远程链接wsl
本文介绍了在WSL中开启22端口的步骤:首先在Ubuntu系统中安装并配置openssh-server,然后重启SSH服务并设置开机自启,最后通过telnet验证端口是否成功开启。操作包括更新软件包、安装SSH服务、重启服务等命令,适用于支持systemd的发行版。
2025-12-21 15:14:28
319
原创 lua table.remove引发的偶现bug
文章摘要:在宠物育种系统中发现一个背包物品数量异常的bug,原因是在删除列表元素时,若先删除前序元素会导致后序元素的索引发生变化。原代码采用顺序删除方式,当删除靠前元素时会影响后续删除操作。修复方法改为:先将需要删除的索引收集到表中,按索引从大到小排序后依次删除,确保索引变化不影响删除操作。这种方法通过预处理删除顺序,有效避免了因列表元素移动导致的索引失效问题。
2025-10-30 18:15:22
293
原创 【奇怪的bug】lua的nil不报错
问题分析与解决方案 问题1:Lua函数异常静默失败 在sortSpeed函数中,table.sort因属性访问错误而中断,但未抛出异常 原因:Lua对nil操作有时不会自动报错 解决方案:使用pcall包裹可能出错的代码块,成功捕获到a.attributes[bt_const.Property.SHARP]访问nil时的错误 问题2:公式配置加载时机问题 初始化时通过skynet.timeout延迟1秒加载公式,但配置服务可能仍未就绪 出现场景加载失败但战斗加载成功的时序问题 解决方案: 实现双重保险机制:
2025-09-28 10:14:14
303
原创 关闭windows更新/关闭 windows 升级win11
本文介绍了两种控制Windows自动更新的方法。方法1通过组策略编辑器设置目标版本号,从根本上阻止系统下载Win11,同时保留Win10安全更新。方法2通过限制更新带宽和关闭P2P传输功能,避免更新占用过多网络资源。两种方法都能有效避免系统更新对工作和娱乐的干扰,推荐结合使用以获得最佳效果。
2025-09-12 09:27:54
280
原创 解决一个蛋疼的怪物配置表性能问题
摘要:为解决游戏开发中随机怪物系统的性能问题,提出用二进制位运算替代数组比较的方案。策划可通过填写1-4数值来标记怪物属性,数值组合可转换为二进制数(如1+2+3+4=15)。提供三种实现方式:1)多单元格独立数值用POWER函数转换;2)单单元格数值组合;3)更简洁的单单元格实现。该方案有效提升标签匹配效率,避免数组遍历的性能损耗。
2025-08-26 09:57:24
270
原创 【ai写代码】lua-判断表是否被修改
摘要:本文介绍了一种Lua内存数据优化方案,通过代理表自动追踪表字段修改。使用元表机制创建代理表,递归处理嵌套表结构,在__newindex中标记修改状态。方案支持通过代理表或原表修改(后者需子表已被代理),提供isModified()、resetModified()等接口。测试显示能正确捕获直接/间接修改,最终数据同步更新至原表。该方案避免了手动标记,实现了修改状态的自动追踪,适用于需要减少保存量的场景。
2025-08-14 19:28:21
331
原创 隐藏文件行尾符CRLF
【摘要】处理文档时发现多余的CRLF行尾符,误以为是格式问题。通过Notepad++关闭显示的方法:点击菜单栏"视图"→"显示符号"→取消勾选"显示行尾符"即可隐藏这些烦人的符号。
2025-07-29 15:24:47
262
原创 战斗公式和伤害走配置文件
本文展示了一个游戏战斗伤害计算系统的Lua实现。系统包含8个核心公式,涵盖基础伤害、暴击率、命中率、治疗效果和护盾计算等。主要特点包括:1)公式预处理机制,处理中文标点转英文、百分比转换等;2)动态加载公式字符串为可执行函数;3)提供完整的测试用例,包括攻击方(testSelf)和防御方(testTag)属性配置。测试结果显示,系统能正确计算不同场景下的伤害值(如命中+暴击时伤害为2182.50,未命中为0)、暴击率(20.00%)、治疗效果(生命治疗1100.00)和护盾值(生命护盾1100.00)等关键
2025-07-28 15:49:08
302
原创 计算公式放配置
摘要:本文讨论了Lua公式配置的优化方案。原始配置使用多行函数定义导致报错,修改为单行表达式形式。提供了新的公式解析函数parseFormula,通过load动态创建函数。示例中配置了命中率公式,并验证计算结果:player对象的基础命中率0.75,加成20%,附加0.1,最终计算结果1.0。方案解决了多行函数报错问题,简化了公式配置方式,同时保持了计算准确性。
2025-07-26 15:25:05
7211
原创 mongo和reids的连接开销对比
Redis和MongoDB连接开销存在显著差异,Redis单连接开销约为MongoDB的1/100。在Skynet框架的场景切换设计中,建议非唯一服务避免直接连接MongoDB,改为通过同进程的唯一服务器查询,以减少跨物理机调用的性能损耗。该方案基于两者的架构差异:Redis作为内存数据库连接更轻量,而MongoDB的文档型数据库特性使其连接开销更大。合理利用Redis作为缓存层能有效提升场景切换性能。
2025-07-14 17:56:12
232
原创 Lua 的闭包(closure)特性
Lua 的 闭包(Closure) 是一个非常重要的特性,它允许函数捕获并“记住”自己所在的外部作用域的变量,即使外部函数已经执行完毕。这种机制在函数式编程、回调、模块化设计等场景中非常有用。看别人的代码,经常看到奇奇怪怪的代码,这不,lua代码也有经常动不动就匿名函数。熟称必包,确实特殊场景有一些用,但是我感觉很多人在滥用闭包,造成可读性很差。请问这个闭包有必要吗?
2025-06-12 17:41:32
373
原创 moon游戏服务器-demo运行
双击start_server.bat会自动编译(MoonDemo\server)下载一个unity2022,我下的Unity 2022.3.57f1c2。下载premake5.exe放MoonDemo\server\moon。貌似不修改也可以的,redis不要设置密码。打开如果有报错不用管,直接contine。安装VS2022 Community。至此demo就跑起来了。前端代码是unity。
2025-06-07 13:47:24
738
原创 moon服务器引擎-协议生成报错
摘要:当Python环境运行moonfly.py报错时,使用绝对路径指定Python解释器位置可解决问题。测试发现Python 3.8版本会报错,升级至3.13版本后成功运行。示例路径为C:\Users\Administrator\AppData\Local\Programs\Python\Python313\python moonfly.py。
2025-06-07 13:21:33
254
原创 PostgreSQL authentication method 10 not supported
PostgreSQL连接报错"authentication method 10 not supported"通常由认证协议不匹配引起,主要出现在较旧客户端(如Navicat 12)不支持服务器配置的SCRAM-SHA-256认证方式时。解决方法包括:升级客户端版本(Navicat 16可正常连接)、调整服务器的pg_hba.conf认证配置,或确保客户端驱动支持SCRAM-SHA-256协议。该错误表明客户端与服务器端的安全认证机制存在兼容性问题。
2025-06-07 13:12:44
1545
原创 虚拟机无法开启-关掉hyper
【摘要】解决VMware与Hyper-V冲突问题:1) BIOS开启CPU虚拟化;2)系统功能页面启用相关选项;3)当出现"不满足Hyper-V共存要求"提示时,需以管理员身份运行PowerShell执行命令"bcdedit/sethypervisorlaunchtypeoff"(CMD无效)。该方案适用于WSL与VMware的兼容性问题,注意需区分PowerShell和CMD的使用差异。(98字)
2025-06-04 19:17:26
514
原创 宝塔地址无法访问
摘要:安装宝塔面板时遇到访问地址与电脑IP不符的问题,无法访问。通过大神指导发现127.0.0.1可访问,但仅限本地。寻求更好的网络访问解决方案,欢迎留言分享经验。(50字)
2025-06-04 11:36:56
333
原创 记一次差点通宵的bug(内网没bug,外网有bug)
那么问题定位了,组队这个进程,内网只开了一个,外网开了8个,这是问题的关键。其次调试奇怪bug应该第一想到代码内网外是否一致,虽然遇到奇怪问题没花时间去研究直接问了同事,也快速解决了,但是自己也要快速定位外码一致性问题,是否提交后忘了更新。那么掉线后,为什么就进入到其他进程了,玩家点击准备这个包是在网管转发的,网管转发的时候会根据队伍id发到对应的进程,断线后玩家的队伍id为0,于是就随便发给了一个进程。2.第二个奇怪的bug.队员断线重连后,点击准备找不到队伍,打印队伍列表长度,发现是0,根本没有队伍。
2025-04-03 10:56:14
603
1
原创 改bug制造bug...
故事背景,我看打印输出有报错,于是加了一个容错。然后出现bug了,一个副本的机器人没了。反思问题所在,当我们去改别人的任何代码,都可能会出现bug,因为确实不知道别人的设计。引出了另外一个奇怪的问题,就是他的代码在别人的电脑或其他环境是不会报错的。我当然是看到报错才去修改的,这代码在我这里确实报错了。怎么说呢,这样改并不能完全避免产生新的bug,比如本来别人只是报错了,属于正常报错。这个确实是处理了容错,即使上面空也不会报错,我做过实验。bug肯定是我改出来的了,我们应该怎么避免这种情况。
2025-03-26 11:06:32
436
1
原创 通过deepseek学习lua写网页
HTML表单通过POST方法提交数据到服务器。服务器端使用Lua处理POST请求并返回响应。需要一个支持Lua的Web服务器(如OpenResty)来处理请求。这种方式适用于需要在Web应用中嵌入Lua逻辑的场景。提问2:content_by_lua_block 改 content_by_lua_file如果你想将 Lua 代码从改为,可以将 Lua 代码提取到一个单独的.lua文件中,然后在 Nginx 配置中引用该文件。适用于直接在 Nginx 配置中嵌入少量 Lua 代码。
2025-03-13 11:51:36
1584
原创 lua写网页(OpenResty)
OpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。简单地说OpenResty 的目标是让你的Web服务直接跑在 Nginx 服务内部,充分利用 Nginx 的非阻塞 I/O 模。一般呢,我也没看这个lua写的网页的代码,但是现在要求另外一个项目也要这个,于是研究了下,发现是OpenResty框架。故事背景,公司有一个项目居然是用lua写的网页,我是真第一次遇到用lua写网页的,以前遇到的都是php.
2025-03-12 14:56:17
570
原创 分享一个skynet包大小的bug
故事背景,一个同事接手了一个项目,写mysql的时候,数据小可以写。16M一个字段写不了。开始是怀疑数据库的设置问题。或者是操作数据库封装的接口限制了。最后是skynet的包限制了。一个数据包最大16m,skynet框架没有对数据包拆包粘包。
2025-03-12 11:00:39
184
原创 vscode自定义背景色
故事背景,vscode默认的是黑色,windows默认的是白色,白色看久了,看黑色看不清楚。以前写C++灰色习惯了。"editor.background": "#C0C0C0", // 银灰色的十六进制代码。"activityBar.background": "#C0C0C0" // 活动栏背景色。"statusBar.background": "#C0C0C0", // 状态栏背景色。"sideBar.background": "#C0C0C0", // 侧边栏背景色。按下 Ctrl + , 打开设置。
2025-03-12 10:35:46
1472
1
原创 ssh无法使用22端口没监听
故事背景,装了一个windows商店的ubunto子系统,但是ssh无法使用,22端口一直没开启。如果输出是 init 或其他内容(如 upstart),说明系统没有使用 systemd。如果输出是 systemd,说明系统使用了 systemd,问题可能出在其他地方。
2025-03-12 10:10:18
346
原创 skynet-src/atomic.h:25:23: 致命错误:stdatomic.h:没有那个文件或目录
故事背景,又接了一个新项目,要搞开发环境啊。skyent的框架。ubuntu已经跑起来了,但是内网是centos的跑不起来。只能怀疑是环境问题了,想重新编译源码重新生成文件。skynet-src/atomic.h:25:23: 致命错误:stdatomic.h:没有那个文件或目录。skynet-src/atomic.h:25:23: 致命错误:stdatomic.h:没有那个文件或目录。fatal error: stdatomic.h: 没有那个文件或目录。看了下资料是gcc版本太低了。
2025-02-08 15:40:22
488
原创 centos虚拟机迁移没有ip的问题
故事背景,我们的centos虚拟机本来是好好的,但是拷贝到其他电脑上就不能分配ip,我个人觉得这个vmware他们软件应该搞定这个啊,因为这个问题是每次都会出现的。到此并不一定完全解决。只是命名能用了,但是主机和虚拟机不一定能ping通。
2025-02-07 10:25:16
594
2
原创 lua下标是可以从0开始
故事背景,策划搞了一个功能配置表,我看居然是0开始的,功能也正常。于是测试了下,还真的可以。网上看了资料确实可以,但是也有需要注意的问题。
2025-01-15 10:32:00
608
原创 lua除法只保留一位小数
故事背景,新来了一个数值,要改公式。神奇的一幕出现了,公式算出一个非常大的数。排查是lua有一个除法bug,1除以大数得到一个非常大的数。需要用lua的除法,建议封装一下函数,不然出现神奇的bug。
2024-11-25 18:05:29
620
原创 lua判断子串,字符串替换,字符串分割
故事背景,需要在聊天做一个gm命名,如果输入的字符串带有'@',则根据后面的参数调用函数。匹配函数的时候需要去掉"@"。字符串还需要切割成函数名和参数。
2024-11-08 15:03:59
587
原创 宝塔反向代理wss
本文介绍了将skynet项目从ws升级为wss的两种方案比较,重点选择了通过宝塔反向代理实现wss的方案。详细说明了宝塔反向代理的两个具体实施方法:方案1建议先使用默认80端口申请证书,成功后添加端口并设置反向代理;方案2可直接通过反向代理设置实现。文中还提供了验证反向代理是否成功的判断方法。该方案解决了微信小程序必须使用wss协议的要求问题。
2024-10-31 10:23:08
873
2
intech二面:(全是选择题)
2019-01-17
HP-Socket-master.zip
2019-01-22
md5加密解密 string Md5Encode::Encode
2017-09-28
封装后的C++读取json库
2019-08-20
curlpp-0.8&&curl7.6.zip
2019-12-05
HP-Socket网络通信框架开发指南.zip
2019-01-22
C++写的高效率排行榜功能 rank.zip
2019-08-29
libco文档以及代码.zip
2020-10-17
VSCodeUserSetup-x64-1.40.0-insider.zip
2019-11-09
yum_rpm....
2017-06-08
babun-1.2.0.zip
2019-11-08
dlmServer2020-10-25.zip
2020-10-25
dlsSqlDb2020-10-25.zip
2020-10-25
dpqServer.zip
2020-10-25
Websocket.zip
2020-10-19
Navicat Premium 12.zip
2019-07-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅