Valheim
You are viewing a potentially older version of this package. View Latest Version
Install with App

Details

Date Uploaded
Downloads
82
Size
224KB
ADDatHost Valheim hosting
30% off

LagWatch - Valheim Server Lag Monitor

Ko-fi Discord

한국어 설명 보기 | English Description


#Language support: 한국어, English (notices sent to players are shown in each player's own game language)


🇰🇷 한국어 (Korean)

개요

LagWatch는 한 명의 접속 환경이나 PC 때문에 서버 전체가 랙이 걸릴 때, 누가 왜 그런지 관리자가 한눈에 확인할 수 있게 해주는 서버 관리 모드입니다. 접속자별 핑, FPS, 소유 오브젝트, 송신 대기, 트래픽을 녹색 / 주황 / 빨강 신호등으로 보여주고, 버튼 한 번으로 해당 유저에게 "게임을 종료하고 조치해 주세요" 안내를 보낼 수 있습니다.


📦 필수 모드 (Dependencies)
모드 버전 필수 여부
BepInExPack_Valheim 5.4.2202+ 필수
ConfigurationManager 최신 권장 (F1 GUI 설정용)

중요: 전용 서버와 모든 클라이언트 양쪽에 설치하세요. 모드가 없는 유저도 패널에는 표시되지만(핑, 오브젝트, 트래픽) FPS / 모드 정보가 없고 안내 메시지를 받을 수 없습니다. 관리자는 서버 adminlist.txt에 등록된 유저입니다.


✨ 주요 기능

관리자 랙 패널

  • 기본 단축키 F10 (컨피그 [Client] PanelHotkey에서 변경), 관리자만 열 수 있습니다.
  • 접속자 한 명이 한 줄: 핑 / FPS / 소유 오브젝트 / 송신 대기 / 트래픽 / 설치 모드 수 / 상태
  • 나쁜 상태의 유저가 맨 위에 오도록 자동 정렬됩니다.
  • 서버가 변화가 있을 때 보내주는 방식이라 패널을 열어 두어도 매 프레임 조회하지 않습니다.
  • 행을 클릭하면 아래에 상세 정보(핑 평균/최대, FPS 평균/최저, 상위 소유 오브젝트, 설치 모드 목록)가 표시됩니다.

신호등 상태

색만으로 구분하지 않도록 신호등 색 + 글자 라벨을 함께 표시합니다. 가장 나쁜 지표가 종합 상태가 됩니다.

지표 주의 (주황) 기본값 위험 (빨강) 기본값 측정 위치
핑 (평균) 150 ms 이상 300 ms 이상 서버
소유 오브젝트 3000개 이상 8000개 이상 서버
송신 대기 50 KB 이상 200 KB 이상 서버
트래픽 (송수신 합) 150 KB/s 이상 400 KB/s 이상 서버
FPS (평균) 30 이하 15 이하 클라이언트 보고

기본값은 아직 서버 환경에 맞게 조정되지 않은 시작값입니다. [Thresholds]에서 서버에 맞게 바꿔 주세요.

안내 메시지 보내기

  • 행의 안내 보내기 버튼을 누르면 해당 유저에게 어떤 종류의 랙을 유발하는지와 게임을 종료하고 조치한 뒤 다시 접속해 달라는 요청이 전송됩니다.
  • 메시지는 받는 유저의 게임 언어(한국어 / 영어)에 맞춰 자동으로 표시됩니다.
  • 원인별 조치 안내가 함께 표시됩니다: 네트워크 불안정, 주변 오브젝트 과다, 낮은 FPS, 송신 대기, 과다 트래픽
  • 같은 유저에게 반복 전송되지 않도록 쿨타임이 적용됩니다.

자동 경고 (선택)

  • 상태가 빨강인 유저에게 안내를 자동으로 보냅니다. 기본 꺼짐이며 관리자가 패널 상단 버튼이나 컨피그([Server] AutoWarnEnabled)로 켜고 끌 수 있습니다.
  • 자동 킥/차단은 하지 않습니다.

서버 진단 기록 (선택)

  • 서버 랙의 원인을 나중에 분석할 수 있도록 서버 부하 요소와 자주 나는 에러를 파일로 기록합니다. 기본 꺼짐, 컨피그 [Diagnostics] Enabled로 켜고 끄며 서버 재시작이 필요 없습니다.
  • 기록 위치: 서버의 BepInEx/LagWatch/diag-날짜.jsonl (주기마다 한 줄)
  • 기록 항목: 서버 프레임 평균/최대 시간, 끊김 횟수, GC 메모리, 씬 오브젝트 수, ZDO 총 개수와 상위 프리팹, 자주 나는 에러 상위 10개(어느 플러그인에서 났는지 포함), 접속자별 상태
  • 서버에 부하를 주지 않도록 초당 로그 처리 상한, 에러 종류 개수 상한, 하루 파일 크기 상한, 보관 일수(기본 7일)가 내장되어 있습니다. 꺼져 있으면 로그 수집 자체를 하지 않습니다.

⚙️ 설정 (Config)

설정 파일: BepInEx/config/captain.LagWatch.cfg (서버와 클라이언트 각각)

섹션 항목 기본값 설명
Server SampleIntervalSec 5 핑/트래픽 측정 주기(초)
Server ZdoScanIntervalSec 30 소유 오브젝트 전체 집계 주기(초)
Server AutoWarnEnabled false 빨강 상태 유저에게 자동 안내
Server WarnCooldownSec 120 같은 유저에게 안내 사이 최소 간격
Thresholds PingWarnMs / PingBadMs 150 / 300 핑 기준
Thresholds OwnedObjectsWarn / Bad 3000 / 8000 소유 오브젝트 기준
Thresholds FpsWarn / FpsBad 30 / 15 FPS 기준
Thresholds SendQueueWarnKB / BadKB 50 / 200 송신 대기 기준
Thresholds TrafficWarnKBs / BadKBs 150 / 400 트래픽 기준
Diagnostics Enabled false 서버 진단 기록
Diagnostics ReportIntervalMin 10 기록 주기(분)
Diagnostics IncludeWarnings false 경고도 집계
Diagnostics HitchMs 100 이 시간 이상 걸린 프레임을 끊김으로 집계
Diagnostics MaxLogsPerSec 500 초당 로그 처리 상한
Diagnostics MaxDistinctErrors 300 추적하는 에러 종류 상한
Diagnostics RetainDays / MaxFileMB 7 / 5 보관 일수 / 하루 파일 크기 상한
Client PanelHotkey F10 패널 단축키
Client ReportEnabled true FPS와 모드 목록을 서버로 보고
Client ReportIntervalSec 5 보고 주기(초)

🔒 개인정보 및 한계
  • 클라이언트는 평균/최저 FPS와 설치된 모드 이름(이름+버전) 을 서버로 보냅니다. 다른 정보는 보내지 않으며, 유저는 [Client] ReportEnabled = false로 끌 수 있습니다.
  • FPS와 모드 목록은 클라이언트가 직접 보고한 값이라 조작될 수 있습니다. 참고용으로만 사용하세요.
  • 신호등은 원인 후보를 보여주는 참고 지표이며 원인을 단정하지 않습니다.
  • 패널은 마우스 조작을 위해 열 때 인벤토리를 함께 엽니다(발헤임은 인벤토리가 열려야 마우스가 동작합니다). 게임패드 조작은 아직 검증되지 않았습니다.
  • 서버와 클라이언트의 통신 규약 버전이 다르면 서로의 메시지를 무시하고 로그에 경고를 남깁니다. 통신 규약이 바뀌는 업데이트는 양쪽을 함께 업데이트하세요.

🇺🇸 English

Overview

LagWatch is a server admin mod that shows who is making the whole server lag, and why, at a glance when one player's connection or PC drags everyone down. It displays each player's ping, FPS, owned objects, send queue and traffic with a green / orange / red traffic light, and lets you send that player a "please quit the game and fix this" notice with one click.


📦 Dependencies
Mod Version Required
BepInExPack_Valheim 5.4.2202+ Required
ConfigurationManager Latest Recommended (F1 GUI settings)

Important: install on both the dedicated server and every client. Players without the mod still appear in the panel (ping, objects, traffic) but have no FPS / mod data and cannot receive notices. Admins are the players listed in the server's adminlist.txt.


✨ Features

Admin lag panel

  • Default hotkey F10 (change it in [Client] PanelHotkey). Admins only.
  • One row per player: ping / FPS / owned objects / send queue / traffic / installed mods / status
  • Worst players are sorted to the top.
  • The server pushes updates when data changes, so the panel does not poll every frame while open.
  • Click a row to see details below: ping avg / max, FPS avg / min, top owned objects and the installed mod list.

Traffic-light status

Each row shows a light color plus a text label so the state is not conveyed by color alone. The worst metric decides the overall status.

Metric Caution (orange) default Critical (red) default Measured on
Ping (average) 150 ms or more 300 ms or more Server
Owned objects 3000 or more 8000 or more Server
Send queue 50 KB or more 200 KB or more Server
Traffic (in + out) 150 KB/s or more 400 KB/s or more Server
FPS (average) 30 or less 15 or less Client report

The defaults are untuned starting points. Adjust them under [Thresholds] for your server.

Send a notice

  • Press Send notice on a row to tell that player what kind of lag they cause and ask them to quit the game, fix it and rejoin.
  • The text is shown automatically in the receiving player's own game language (Korean / English).
  • Each cause comes with a fix hint: unstable network, too many objects nearby, low FPS, send queue, heavy traffic.
  • A cooldown prevents sending to the same player repeatedly.

Auto warning (optional)

  • Automatically sends the notice to players whose status is red. Off by default; admins toggle it with the button at the top of the panel or in the config ([Server] AutoWarnEnabled).
  • It never kicks or bans anyone.

Server diagnostics (optional)

  • Records server load factors and frequent error messages to a file for later analysis. Off by default; toggle [Diagnostics] Enabled in the config, no restart needed.
  • Location: BepInEx/LagWatch/diag-YYYY-MM-DD.jsonl on the server (one line per interval)
  • Recorded: server frame avg / max time, hitch count, GC memory, scene object count, total ZDOs and top prefabs, the top 10 frequent errors (including which plugin logged them) and per-player status
  • Built to not load the server: a per-second log processing cap, a cap on distinct error types, a daily file size cap and retention days (default 7). When off, no log collection happens at all.

⚙️ Config

Config file: BepInEx/config/captain.LagWatch.cfg (on the server and on each client)

Section Entry Default Description
Server SampleIntervalSec 5 Seconds between ping / traffic samples
Server ZdoScanIntervalSec 30 Seconds between full owned-object scans
Server AutoWarnEnabled false Automatically notify red players
Server WarnCooldownSec 120 Minimum seconds between notices to the same player
Thresholds PingWarnMs / PingBadMs 150 / 300 Ping limits
Thresholds OwnedObjectsWarn / Bad 3000 / 8000 Owned object limits
Thresholds FpsWarn / FpsBad 30 / 15 FPS limits
Thresholds SendQueueWarnKB / BadKB 50 / 200 Send queue limits
Thresholds TrafficWarnKBs / BadKBs 150 / 400 Traffic limits
Diagnostics Enabled false Server diagnostics recording
Diagnostics ReportIntervalMin 10 Minutes between records
Diagnostics IncludeWarnings false Also count warnings
Diagnostics HitchMs 100 Frames at or above this many ms count as hitches
Diagnostics MaxLogsPerSec 500 Log events processed per second
Diagnostics MaxDistinctErrors 300 Cap on distinct error types tracked
Diagnostics RetainDays / MaxFileMB 7 / 5 Retention days / daily file size cap
Client PanelHotkey F10 Panel hotkey
Client ReportEnabled true Report FPS and mod list to the server
Client ReportIntervalSec 5 Seconds between reports

🔒 Privacy and limitations
  • Clients send their average / minimum FPS and installed mod names (name + version) to the server. Nothing else is sent, and players can turn it off with [Client] ReportEnabled = false.
  • FPS and the mod list are self-reported by the client and can be faked. Use them as hints only.
  • The traffic light shows likely causes for reference; it does not prove one.
  • The panel opens the inventory with it so the mouse works (Valheim only accepts mouse input while the inventory is open). Gamepad use has not been verified.
  • If the server and client use different protocol versions they ignore each other's messages and log a warning. Update both sides together when an update changes the protocol.

🎮 My Other Mods / 함께 즐기면 더 좋은 모드

🌳 CaptainSkillTree

전문가 트리, 무기 트리, 직업 시스템으로 바이킹을 성장시키는 종합 스킬트리 모드입니다.

A comprehensive skill tree mod with expert trees, weapon trees and a class system for your Viking.

🎵 CaptainAudio

🎶 발헤임의 전투를 음악으로 더욱 생동감 있게!

🎶 Bring your Valheim battles to life with music!

👹 MonsterModifiers

몬스터에게 랜덤 속성을 부여해 난이도 균형을 맞출 수 있습니다.

Give monsters random modifiers to keep the challenge up.

🗺️ PotalMap

포탈을 지도에서 선택해 이동하고 길드원끼리 공유할 수 있습니다.

Pick portals on the map to travel, and share them with your guild.

🪦 FindTomb

사망 후 무덤 위치를 지도 핀과 방향 안내로 알려 줍니다.

Shows where your grave is with map pins and a direction guide after you die.

🏰 Captain Territorial

거점 구역의 건축·상호작용·침입을 제어하는 영토 와드 모드입니다.

A territory ward mod that controls building, interaction and intrusion inside a zone.

🛠️ NullReferenceFix

여러 모드를 함께 쓸 때 생기는 NullReferenceException과 로그 스팸을 줄여 줍니다.

Reduces NullReferenceException crashes and log spam when running many mods together.


📝 Credits / 크레딧

  • Developer / 개발자: KorCaptain
  • Framework / 프레임워크: BepInEx, Harmony

💬 Support / 지원


📜 License / 라이선스

Developer - KorCaptain


Keep your Valheim server smooth! / 쾌적한 발헤임 서버를 즐기세요!

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.