跳到主要内容

Common Server Issues

服务器启动时立即崩溃

通常情况下,这是由于你的 server.cfg 文件出现错误或你的游戏模式缺失所致。检查 server_log.txt 文件,原因通常在文件底部。如果没有找到原因,请检查 crashinfo.txt 文件。更好的解决方案是使用 Zeex/0x5A656578 的 Crash Detect 插件(点击这里获取链接),它会提供更多信息,如行号、函数名称、参数值等。如果脚本是以调试模式编译的(使用 -d3 标志),编译器会将这些额外的信息放入输出的 .amx 文件中。

服务器无法工作 - 防火墙已禁用

你需要转发端口以允许玩家加入你的服务器。你可以使用 PF Port Checker 来转发端口。下载地址:www.portforward.com 如果端口未转发,说明你需要在路由器中打开它们。你可以在 http://portforward.com/english/routers/port_forwarding/routerindex.htm 查看路由器列表及其转发方法。

该网站提供了所有关于如何转发端口的信息。

'Packet was modified'

该错误通常显示为:

[hh:mm:ss] Packet was modified, sent by id: <id>, ip: <ip>:<port>

当玩家超时或当前连接出现问题时会发生此错误.

'Warning: client exceeded messageslimit'

该错误通常显示为:

Warning: client exceeded 'messageslimit' (1) <ip>:<port> (<count>) Limit: x/sec

当客户端每秒发送给服务器的消息数量超过限制时会发生此错误.

'Warning: client exceeded ackslimit'

该错误通常显示为:

Warning: client exceeded 'ackslimit' <ip>:<port> (<count>) Limit: x/sec

当确认数限制超过时发生.

'Warning: client exceeded messageholelimit'

该错误通常显示为:

Warning: client exceeded 'messageholelimit' (<type>) <ip>:<port> (<count>) Limit: x

当消息孔限制超过时发生.

'Warning: Too many out-of-order messages'

该错误通常显示为:

Warning: Too many out-of-order messages from player <ip>:<port> (<count>) Limit: x (messageholelimit)

当“消息顺序错误”重用了 messageholelimit 设置时会发生此错误.

有关更多信息,请参阅此处

玩家不断出现“Unacceptable NickName”错误但昵称是有效的

如果你确定使用了一个可接受的昵称并且服务器运行在 Windows 上,请尝试将 samp-server.exe 的兼容性选项更改为 Windows 98,重启服务器后应该可以解决问题.

具有较长在线时间的 Windows 服务器可能也会导致此问题发生。观察到在大约 50 天的服务器在线时间后会出现此问题。解决此问题需要重启服务器.

MSVCR___.dll/MSVCP___.dll not found

当尝试加载一个使用比当前计算机上安装的 Visual C++ Runtime版本更高的插件时,这个问题在 Windows 服务器上经常发生。要解决此问题,请下载适当的 Microsoft Visual C++ Runtime库。请注意,SA-MP 服务器是 32 位的,因此无论架构如何,你都需要下载 32 位(x86)版本的Runtime。你具体需要的Runtime版本由文件名中的数字表示(见下表),不过安装所有版本也不会有坏处。这些库不会堆叠,换句话说:如果你只安装 2015 版本,你不会得到 2013 及以前版本的Runtime.

版本号Runtime
10.0Microsoft Visual C++ 2010 x86 Redistributable
11.0Microsoft Visual C++ 2012 x86 Redistributable
12.0Microsoft Visual C++ 2013 x86 Redistributable
14.0Microsoft Visual C++ 2015 x86 Redistributable