故障排除

From DDraceNetwork
Revision as of 17:23, 27 May 2023 by EdEnd (talk | contribs)

这篇文章旨在帮助你解决在DDNet中遇到的问题。

对于开发者进行故障排除的实用信息有:

  1. 崩溃/警告日志文件
  2. 硬件信息(GPU,CPU,内存,运行系统(比如Windows, Linux等等))-所使用的GPU可以在客户端启动后按下f1打开控制台来查看,会以紫色文本显示。
  3. 问题产生前的步骤


崩溃

崩溃就是预料外的中断,或者说游戏突然关闭退出,通常由一个DDNet代码中的bug,或是其他软件引起。

经验法则是,如果你能重现崩溃,就尝试与开发人员联系。

外部链接或者在GitHub中创建一条问题。

自Windows系统的DDNet 16起,客户端会创建一份崩溃日志或是警告日志,可以在配置路径的"dumps"目录下找到。

如果客户端在启动时就发生了崩溃,通常会是图像驱动出了问题(见GFX故障排除),或是杀毒软件误杀(上网搜索如何将特定应用,即DDNet,设置为受信任的程序)。

提示:不是所有的崩溃/bug都时由DDNet代码引起的,你应该始终保持系统和驱动程序是最新状态。只有可复现的或是有崩溃日志的bug,才标志着DDNet的代码中出现了一些问题,并且可以被轻松修复。


图像问题

如果你发现画面有卡顿,并且开发人员可以复现这些问题,那么大概率是你的图像驱动版本太老,含有bug,或是被硬件厂商所抛弃。

你仍然可以尝试以下方法:

如果你有一个不是太老的GPU(显卡),尝试去更新一下它的驱动程序。以下所有方案都只是有副作用的补救措施(可能会使画面变得更差)。

在客户端内找到设置->图像
在渲染设置中选择OpenGL
重启游戏

如果你想要找到一个更好的解决方案,可以访问GFX故障排除页面,其中更详细的分析了各种图像问题并且给出了更多的细节信息。


ALT + TAB 问题

最大的可能是图像驱动的问题。不过你仍然可以使用窗口化全屏来尝试解决这个问题。

这是一种特殊的全屏模式,并使游戏窗口如同全屏时一样运作,尽管它不是。

提示:在有些系统上会有副作用。比如,在Windows系统中它可能会让Windows桌面合成器保持运行,并降低游戏的fps(帧率),并且在更坏的情况中提高输入延迟。

在客户端内找到设置->图像
点击“全屏”(或是你的当前窗口设置选项)并且选择“窗口化全屏”

<small?(如果你在调整到该设置时遇见bug,那么就重启游戏,并且保证仍然选择的是“窗口化全屏”)


Broken streaming

当你在discord直播DDNet是遇见了bug(虽然国服玩家基本不会遇见),你大概率使用的是n卡。

已经有用户向discord官方反馈,并且官方回复说:

在 用户设置 > 声音和视频 中关闭“使用最新技术来捕获我的屏幕”设置项。

如果你在n卡ShadowPlay(Alt+Z,n卡自带的录屏推流程序)中找不到DDNet:

Make sure you actually use the nvidia card to play DDNet (press F1 after a client start and see the purple text saying something like "gfx [...] Vendor:", it should mention nvidia)

Under Windows you can usually select the preferred graphics card under Windows' graphics options, or directly in the control panel of your graphics driver (e.g. nvidia control panel)

Network / Connection problems

DDNet and Teeworlds network code requires a stable connection with as less ping jitter as possible.

If you experience problems make sure to:

  1. Use a LAN cable instead of Wifi
  2. Turn off other applications on your computer and other computers in your network to tell if they are the source of the problem
  3. Prefer DSL/Fiber over cable internet
  4. Make sure it is not a DoS/DDoS attack on the server (did it ever work before, do other servers work fine?)
  5. Try ping -t ger2.ddnet.org in cmd.exe for a few minutes, stop it with ctrl-c, and check the if the ping jumps there too or you have packet loss
  6. Try to trace route the connection to the DDNet server (using tracert ger2.ddnet.org in cmd.exe) and see if there is bad routing (ask your ISP to fix it)