自己架设的传奇会卡顿、掉线是什么原因?传奇卡顿怎么解决?

news2024/10/5 17:19:23

自己架设的传奇会卡顿、掉线是什么原因?

  • 【M2相关设置】
  • 【怪物刷新】
  • 【机器人脚本】
  • 【个人定时器】
  • 【GOTO的使用】
  • 【NPC】
  • 【服务器配置】

因为平时接触传奇的用户比较多,所以也会遇到架设的传奇出现卡顿、掉线的情况,这究竟是为什么呢?飞飞总结了以下原因和解决方案希望可以帮助到你~

首先我们结合情况来,刚架设好的服,测试时就遇到了卡顿、掉线的情况,大概率是和游戏设置有关系的,我们可以先从引擎、游戏设置和脚本进行排查。

【M2相关设置】

M2-选项-性能参数-怪物处理控制-处理间隔
数字越大,怪物行动越迟钝,CPU占用越低。
数字越小,怪物行动越灵活,CPU占用越高。

自己架设的传奇会卡顿、掉线是什么原因?
自己架设的传奇会卡顿、掉线是什么原因?
当你的参数调整的很小,就要查看下CPU使用率和内存使用率占比,当使用率高于正常值,就要排查是不是CPU或是内存不够的原因导致卡顿。

解决方法:联系服务商协助排查,若是CPU使用率和内存使用率占比高,让服务商开台更高配置的服务器架设测试下,看问题是否有改善。(GEE引擎版本对服务器配置要求更高,如果是GEE引擎建议选择i9-9900K以上配置的服务器 )

【怪物刷新】

D:\MirServer\Mir200\Envir目录下的MonGen.txt文件为怪物刷新脚本。这个脚本看起来很简单,[地图 坐标X 坐标Y 怪物名字 刷新范围 刷新数量 刷新时间]表面上看按照这个格式对号入座即可,其实不然。

很多老G写版本图省事,所有的怪物一律统一刷新时间,BOSS全部30分钟一刷新,小怪全部10分钟刷新一次。如果你全部设置了10分钟一刷新,那么M2每10分钟就要全局的检测一次,检测所有游戏里存在的10分钟刷新的怪物数量与MonGen中设置的是否相符,如果不相符就需要补齐。要在同一时间段同时检测这么多内容,M2的负担可想而知!建议将怪物的刷新时间分散开,比如11分钟 12分钟等等,这样M2在一个时间内执行的检测与补充就会减少些,运算负担也会相对减小些。

自己架设的传奇会卡顿、掉线是什么原因?
地图内的怪物刷新坐标点也建议分散开,一个坐标点不要刷新太多的怪物,如果是一个坐标点刷新太多的怪物M2的运算压力会加重,另外会出现本来设置刷新100只怪,结果只有60只。

另外刷新数量一定要根据服情况合理设置,当你的游戏里有50-60+玩家游戏,但是刷怪设置了5-6万只怪,算下来一个人就要消灭1000只怪,这肯定是不合理的!而且游戏刷新1w只怪和刷新5w只怪所占用的CPU使用率是不同的,至少有5倍差别。

还有就是游戏自助刷怪升级脚本,这个脚本尽量不要使用到游戏里,这就是个坑爹的功能。尤其刷怪练级的脚本。当几个刷怪NPC在那里不停地刷怪,增加了M2负担,游戏不卡都不行呢。

【机器人脚本】

D:\Mirserver\Mir200\Envir\Robot_def目录下为机器人脚本。

AutoRunRobot.txt为触发命令脚本
RobotManage.txt为执行命令脚本

自己架设的传奇会卡顿、掉线是什么原因?
当触发命令脚本中有1秒一执行的命令,游戏就会变卡,并且游戏里玩家越多,就越卡,建议取消1秒一执行的机器人脚本,如果有必要存在,建议修改为5-10秒等延长时间。

【个人定时器】

很多版本中的个人定时器用的很不合理,上线就触发个人定时器,安全区在线泡点,1秒一执行,当人多的时候一起执行就会非常卡。尤其是玩家带着个人定时器等计时命令进行PK或者打怪等动作的时候,就需要通过游戏网关向M2不停的传送数据,M2在不停的分析数据反馈给游戏网关上的玩家。这样一来,M2的负担增加了,游戏自然就变卡了。

建议可以取消安全区泡点,将泡点划分到不同地图,尽量一个泡点地图里不要有太多的玩家。这样游戏就不会那么卡了。

另外,很多GM的个人定时器都是1秒一循环。然后给100万经验。建议转换个思路,修改为5秒一循环,给500万经验。这样循环的次数少了,M2的负担也会减轻许多。

【GOTO的使用】

GOTO越多,游戏的循环会越多。有些版本表面看着很简洁。使用了很多GOTO,其实这样一来循环就会很多。大家都知道当计算出现死循环的时候,系统是直接崩盘,那么游戏出现死循环的时候,会直接M2崩掉。能用DELAYGOTO替代的尽量用这个替代,不能用这个替代的尽量用其他思路代替。

能在当前脚本完成的功能尽量不要#CALL到别处完成。减少GOTO使用率对于版本优化是很重要的一步。

【NPC】

有的GM会遇到游戏加载或是关闭很慢的情况,第一时间会想到会不会是引擎的原因?其实并不然,游戏加载/关闭慢多数是和NPC有关的,当你游戏里的NPC刷新达到600-700个,我们加载时NPC产生的数据就很占用时间,并且有些NPC玩家打到终极都不一定能遇到。对于没有用的NPC,能删则删。

【服务器配置】

当根据以上几点排除了非版本原因,那就要考虑下是不是服务器配置不够导致,就比如GEE引擎的版本,用L5630/E5-2670这种配置肯定是不够的,GEE技术建议选择i9-9900K或是更高的配置。再比如开区数量超过了20,L5630也是不行的,传奇开多区还得是E5-2666v3或是E5-2683v4,同时开40-50个区都没问题。

除了CPU,也要看服务器的带宽是否充足,如果是带宽跑到了峰值,不够用了,也是会出现卡顿、掉线的情况的,可以联系服务商查看带宽图,再考虑是否要升级配置。

以上就是关于自己架设的传奇为什么会卡顿的几个解决思路

感谢您的阅读,服务器大本营助您成为更专业的服务器管理员!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/748716.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

迭代器模式:简化集合元素遍历的设计模式

迭代器模式是一种行为型设计模式,它提供了一种遍历集合元素的统一接口,使得我们可以在不暴露集合内部结构的情况下访问集合中的元素。迭代器模式可以简化集合的遍历操作,提高代码的可读性和可维护性。本文将详细介绍迭代器模式的原理、结构和…

java IO流(一) IO流概述 字节流

File类只能操作文件,但是不能操作文件中的内容,IO流则可以对文件或者网络中的数据进行读、写操作。 IO流分为两大派系: 1.字节流:字节流又分为字节输入流、字节输出流 2.字符流:字符流由分为字符输入流、字符输出流 字…

简化生活之让AI以指定格式输出

原文合集地址如下,有需要的朋友可以关注 本文地址 合集地址 今天京东也宣布即将发布了自己的大模型,那么使用AI大模型进行工作或者生活将是必不可少的步骤。 建立命令 AI大模型是一种生成式聊天对话模型,我们可以通过预先定义命令的方式…

【C语言】求a的连续和

问题描述 输入两个整数a和n , a的范围是[0,9],n的范围是[1,8],求数列之和S aaaaaa… aaa…a ( n个a )。如a为2、n为8时输出的是222222…22222222的和。 输入格式: 输入在一行中给出两个整数,先后表示a和n。 输出格式: 在一行中输出要求的数…

不会吧,都2023年了,还有人不知道jmeter和locust的区别?

在做性能测试时,通常都会借助一些压测工具来模拟大量的并发用户。目前业界压测工具种类繁多,比如Loadrunner、Jmeter、Locust、Ngrinder、Apache ab、Wrk、Webbench等,其中开源的要以java的jmeter和pythonlocust首当其冲,那么今天…

软件进行压力测试的主要目的

软件进行压力测试是指通过模拟大量用户访问和负载压力,在正常和峰值使用情况下对软件系统进行测试的过程。软件进行压力测试的主要目的是确保软件在实际应用中能够稳定、可靠地运行,满足用户的需求。 首先,软件进行压力测试的主要目的是评估系…

计算机系统结构与操作系统实验三(4-1)-获取物理容量

📍实验要求 获得物理内存容量,代码中共有3种获得物理内存容量方式,程序流程是第1种方式如果失败则采用第2种方式,第2种如果失败则采用第3种,想方法验证最终是采用了哪种方式?给出分析过程 📍实…

Vue封装的过渡与动画

vscode中迅速创建Vue快捷键输入vue回车键即可 动画效果 如果在<transition name"hello"></transition>标签添加name属性&#xff0c;那么css属性名生效就得这样写.hello-enter-active和.hello-leave-active&#xff0c;没有name属性就直接.v-enter-acti…

Mac搭建安卓模拟器(支持M1/M2)

引言 最近在研究Vue打包成app&#xff0c;给我的报价器搞一个移动端&#xff0c;奈何没有安卓手机用于测试。所以想到安装一个安卓模拟器。 看了下目前主流的安卓模拟器基本都不支持Mac版本。网易的mumu目前来看还是只支持Intel芯。 1. 简单版&#xff08;仅M系&#xff09;…

3. CSS三角

网页中常见的一些三角形, 使用CSS直接画出来就可以, 不必做成图片或者字体图标。 CSS三角做法代码: div {width: 0;height: 0;/* 兼顾兼容性 line-height: 0;font-size: 0; */border: 50px solid transparent;border-left-color: pink; }

【Linux】初步理解操作系统和进程概念

一.认识操作系统 操作系统是一款纯正的 “搞管理” 的文件。 那操作系统为什么要管理文件&#xff1f; “管理” 又是什么&#xff1f; 它是怎么管理的&#xff1f; 为什么&#xff1f; 1.操作系统帮助用户&#xff0c;管理好底层的软硬件资源&#xff1b; 2.为了给用户提供一个…

搞清楚@RequestBody和@RequestParam的异同,让你的面试不再被问倒!

大家好&#xff0c;我是小米。今天我要给大家分享一个常见的面试题&#xff1a;“RequestBody和RequestParam之间有什么区别&#xff1f;”这个问题在Java Web开发中非常常见&#xff0c;对于初学者来说可能会有些混淆。那么&#xff0c;让我们一起来揭开这个谜团&#xff0c;深…

浅谈变配电监控系统在某火车站中的应用

安科瑞 华楠 摘要&#xff1a;现代变配电监控系统是利用计算机控制技术、通信技术和网络技术等&#xff0c;对智能变配电设备进行数字化信息采集、处理和传输&#xff0c;从而实现对变配电系统高、低压电气设备的远程监控管理&#xff0c;达到配电室的少人或无人值守的目的&am…

【报错】jar包丢失以及project标签报错解决方案

报错&#xff1a; “dependencies.dependency.version for org.springframework.boot:spring-boot-starter-web:jar is missing” “标记名称: project 描述 : The <project> element is the root of the descriptor. The following table lists all of the possible c…

剑指offer(C++)-JZ41:数据流中的中位数(算法-排序)

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 题目描述&#xff1a; 如何得到一个数据流中的中位数&#xff1f;如果从数据流中读出奇数个数值&#xff0c;那么中位数就是所有…

scrapy

scrapy介绍安装--架构 Scrapy 是一个爬虫框架&#xff08;底层代码封装好了&#xff0c;只需要在固定位置写固定代码即可&#xff09;&#xff0c;应用领域比较广泛---》爬虫界的django# 安装 #Windows平台1、pip3 install wheel #安装后&#xff0c;便支持通过wheel文件安装软…

Java的强引用和弱引用

介绍 强引用&#xff1a;引用的对象不会被Java虚拟机强制回收。平时绝大部分对象引用是强引用。 弱引用&#xff1a;在垃圾回收时&#xff0c;弱引用的对象会被Java虚拟机强制回收。 Java API中关于几种引用的类&#xff1a; https://docs.oracle.com/en/java/javase/19/docs…

【JavaSE】- 异常处理

异常处理 1.1异常概念1.2 编译异常1.3 异常处理的方式2.1 try-catch2.2 throws2.3 throw(自定义异常) 1.1异常概念 常见的运行时异常包括 NullPointerException 空指针异常 String name null;System.out.println(name. Length());ArithmeticException 数学运算异常 int num1 …

python_pyqtgraph折线图工具协助分析数据

目录 写在前面&#xff1a; 结果显示 代码实现 导入包、字符串横坐标控件 单边折线图控件 主界面 使用过程 写在前面&#xff1a; 本文开发的工具主要是在平时事务处理中需要查看多列数据差异很大的数据&#xff0c;需要横向对比纵向对比&#xff0c;并且要能及时感知数…

Linux和Shell笔记-1相关概念理解

Unix和Linux关系 UNIX是最早的商业操作系统之一&#xff0c;由贝尔实验室&#xff08;AT&T Bell Laboratories&#xff09;于 1970 年代开发。UNIX 是一个多用户、多任务的操作系统&#xff0c;具有强大的命令行界面和可扩展性。 Linux 是一个开放源代码的类 UNIX 操作系统…