Русский
📋 Общая информация
VBNetTweaks — это комплексный мод для оптимизации сетевой игры в Valheim. Мод разработан для улучшения производительности как на сервере, так и на клиенте, уменьшения лагов и дерганий, оптимизации сетевого трафика и синхронизации игроков.
- Обратная связь - связаться со мной можно через пинг меня "VitByr" в таких дискорд-серверах: Valheim Modding, Odin Plus, Valheim (официальный IronGate).
Версия: 0.1.5
🎯 Основные функции
1. Оптимизация сети и ZDO
- Приоритизация ZDO объектов — игроки, корабли с игроками, мобы и важные объекты получают более высокий приоритет при отправке
- Лимитирование ZDO — ограничение количества отправляемых ZDO за тик (до 350)
- Троттлинг дальних ZDO — снижение частоты обновления объектов за пределами указанной дистанции
- Кэширование расстояний — предотвращение повторных вычислений дистанции
2. Синхронизация игроков
- Сглаживание движений — интерполяция позиций удаленных игроков для устранения рывков
- Предикшен — прогнозирование движений игроков между сетевыми обновлениями для более плавного отображения
- Приоритет обновлений — повышение частоты обновления позиций игроков на сервере
3. Синхронизация кораблей
- Отслеживание игроков на кораблях — определение, какие игроки находятся на корабле
- Коррекция позиций — сглаживание позиций игроков относительно движущегося корабля
- Синхронизация прикрепления — корректная синхронизация игроков, сидящих на стульях или управляющих кораблем
- Сглаживание движения кораблей — интерполяция движения кораблей для удаленных клиентов
4. Оптимизация AI
- LOD для AI — снижение частоты обновления AI для существ, находящихся далеко от игроков
- Экономия ресурсов сервера — уменьшение нагрузки на CPU за счет редкого обновления дальних мобов
5. Сетевые оптимизации
- Адаптивный троттлинг — динамическое изменение интервала отправки данных на основе пинга клиентов
- Батчинг RPC — объединение множества мелких RPC вызовов в один пакет
- Оптимизация Steam — увеличение лимитов скорости отправки Steam (SendRate)
- Сжатие данных — опциональное сжатие сетевых пакетов (Deflate/Zstd)
6. Оптимизация памяти
- Пул объектов — переиспользование списков и ZPackage для уменьшения аллокаций
- Кэш игроков — централизованное хранение данных об игроках для быстрого доступа
7. Управление событиями и спавном
- Учет всех игроков — исправление механик, которые раньше учитывали только локального игрока (события, спавн монстров)
🔧 Что можно настроить
Настройки сети (сервер + клиент)
| Настройка |
Описание |
По умолчанию |
EnableCompression |
Включить сжатие сетевых пакетов |
true |
CompressionAlgorithm |
Алгоритм сжатия: Deflate или Zstd |
Deflate |
EnableSteamSendRateOverride |
Применять настройки скорости отправки Steam |
true |
SteamSendRateMinKB |
Минимальная скорость отправки (КБ/с) |
256 |
SteamSendRateMaxKB |
Максимальная скорость отправки (КБ/с) |
1024 |
SteamSendBufferSize |
Размер буфера отправки Steam (байт) |
100 000 000 |
Настройки сервера (только для сервера)
| Настройка |
Описание |
По умолчанию |
EnableNetSync |
Включить новую систему синхронизации |
true |
SendInterval |
Интервал отправки данных (секунды) |
0.05 |
PeersPerUpdate |
Количество пиров для обработки за апдейт |
20 |
EnableZDOThrottling |
Снижать частоту обновления для дальних ZDO |
true |
ZDOThrottleDistance |
Дистанция троттлинга ZDO (метры) |
500 |
EnablePlayerPositionBoost |
Повысить приоритет обновления позиций игроков |
true |
PositionUpdateMultiplier |
Множитель приоритета синхронизации игроков |
2.5 |
Настройки AI (только для сервера)
| Настройка |
Описание |
По умолчанию |
EnableAILOD |
Уменьшать частоту обновления AI для дальних существ |
true |
AILODNearDistance |
Дистанция полной скорости AI (метры) |
100 |
AILODFarDistance |
Дистанция замедления AI (метры) |
300 |
AILODThrottleFactor |
Коэффициент замедления для дальнего AI |
0.5 |
Настройки клиента
| Настройка |
Описание |
По умолчанию |
EnableClientInterpolation |
Сглаживать движения других игроков |
true |
EnableClientPrediction |
Прогнозировать движения игроков |
true |
Отладка
| Настройка |
Описание |
По умолчанию |
DebugEnabled |
Включить отладочный вывод |
false |
VerboseLogging |
Подробное логирование |
false |
🛡️ С чем помогает бороться
На сервере:
- Высокая нагрузка CPU — оптимизация AI и ZDO снижает нагрузку
- Перегрузка сети — троттлинг дальних объектов и батчинг RPC уменьшают трафик
- Задержки при большом количестве игроков — адаптивный троттлинг подстраивается под пинг
На клиенте:
- Дерганья игроков — интерполяция и предикшен создают плавное движение
- Дерганья на кораблях — специальная синхронизация для кораблей
- Лаги при движении корабля — сглаживание позиций корабля
- Проблемы с синхронизацией сидящих на стульях — RPC синхронизация прикрепления
Общие проблемы:
- Потеря пакетов — адаптивный троттлинг и батчинг уменьшают влияние
- Фризы при загрузке зон — оптимизированное удаление объектов
- Утечки памяти — пулы объектов предотвращают лишние аллокации
📊 Производительность
- Мониторинг времени выполнения — отслеживание медленных операций (>10ms)
- Сбор статистики — усредненные показатели производительности
- Очистка пулов при смене сцены для предотвращения утечек
🔌 Совместимость
- Работает как на выделенном сервере, так и на клиенте
- Серверные настройки автоматически синхронизируются с клиентами
- Корректная работа с другими модами благодаря грамотным Harmony патчам
🚀 Рекомендации
Для оптимальной работы рекомендуется:
- На сервере с большим количеством игроков включить
EnableAILOD и EnableZDOThrottling
- Для слабых интернет-соединений увеличить
SteamSendRateMinKB
- При проблемах с памятью убедиться, что
EnableNetworkCompression включен
- Для отладки включить
DebugEnabled и проанализировать логи PerformanceMonitor'а
Мод значительно улучшает сетевой опыт в Valheim, делая игру более плавной и отзывчивой как на мощных серверах, так и на слабых клиентах!
English
📋 Overview
VBNetTweaks is a comprehensive optimization mod for Valheim's multiplayer experience. Designed to improve performance on both servers and clients, reduce lag and stuttering, optimize network traffic, and enhance player synchronization.
- Feedback - you can contact me by pinging me "VitByr" in such discord servers: Valheim Modding, Odin Plus, Valheim (official IronGate).
Version: 0.1.5
🎯 Core Features
1. Network & ZDO Optimization
- ZDO Object Prioritization — players, ships with players, mobs, and important objects receive higher send priority
- ZDO Limiting — caps ZDOs sent per tick (up to 350)
- Distant ZDO Throttling — reduces update frequency for objects beyond specified distance
- Distance Caching — prevents redundant distance calculations
2. Player Synchronization
- Movement Smoothing — interpolates remote player positions to eliminate stuttering
- Prediction — extrapolates player movement between network updates for smoother visuals
- Update Priority — increases player position update frequency on the server
3. Ship Synchronization
- Player Tracking on Ships — detects which players are aboard ships
- Position Correction — smooths player positions relative to moving ships
- Attachment Sync — properly synchronizes players sitting on chairs or controlling ships
- Ship Movement Smoothing — interpolates ship movement for remote clients
4. AI Optimization
- AI LOD — reduces update frequency for creatures far from players
- Server CPU Savings — lowers server load by throttling distant mobs
5. Network Optimizations
- Adaptive Throttling — dynamically adjusts send intervals based on client ping
- RPC Batching — combines multiple small RPC calls into single packets
- Steam Optimization — increases Steam send rate limits
- Data Compression — optional network packet compression (Deflate/Zstd)
6. Memory Optimization
- Object Pooling — reuses lists and ZPackages to reduce allocations
- Player Cache — centralized player data storage for fast access
7. Event & Spawn Management
- Multi-Player Awareness — fixes mechanics that previously only considered the local player (events, monster spawning)
🔧 Configurable Options
Network Settings (Server + Client)
| Setting |
Description |
Default |
EnableCompression |
Enable network packet compression |
true |
CompressionAlgorithm |
Compression algorithm: Deflate or Zstd |
Deflate |
EnableSteamSendRateOverride |
Apply Steam send rate settings |
true |
SteamSendRateMinKB |
Minimum send rate (KB/s) |
256 |
SteamSendRateMaxKB |
Maximum send rate (KB/s) |
1024 |
SteamSendBufferSize |
Steam send buffer size (bytes) |
100,000,000 |
Server Settings (Server Only)
| Setting |
Description |
Default |
EnableNetSync |
Enable new synchronization system |
true |
SendInterval |
Data send interval (seconds) |
0.05 |
PeersPerUpdate |
Peers processed per update |
20 |
EnableZDOThrottling |
Reduce update frequency for distant ZDOs |
true |
ZDOThrottleDistance |
ZDO throttling distance (meters) |
500 |
EnablePlayerPositionBoost |
Boost player position update priority |
true |
PositionUpdateMultiplier |
Player sync priority multiplier |
2.5 |
AI Settings (Server Only)
| Setting |
Description |
Default |
EnableAILOD |
Reduce AI update frequency for distant creatures |
true |
AILODNearDistance |
Full-speed AI distance (meters) |
100 |
AILODFarDistance |
AI throttling distance (meters) |
300 |
AILODThrottleFactor |
Distant AI slowdown factor |
0.5 |
Client Settings
| Setting |
Description |
Default |
EnableClientInterpolation |
Smooth other players' movement |
true |
EnableClientPrediction |
Predict player movement |
true |
Debug Settings
| Setting |
Description |
Default |
DebugEnabled |
Enable debug output |
false |
VerboseLogging |
Detailed logging |
false |
🛡️ Problems Solved
On the Server:
- High CPU Load — AI and ZDO optimizations reduce server load
- Network Congestion — distant object throttling and RPC batching decrease traffic
- Lag with Many Players — adaptive throttling adjusts to ping
On the Client:
- Player Stuttering — interpolation and prediction create smooth movement
- Ship-Related Stuttering — specialized ship synchronization
- Ship Movement Lag — smooths ship positions
- Seated Player Sync Issues — RPC-based attachment synchronization
General Issues:
- Packet Loss — adaptive throttling and batching minimize impact
- Zone Loading Freezes — optimized object removal
- Memory Leaks — object pools prevent excessive allocations
📊 Performance
- Execution Time Monitoring — tracks slow operations (>10ms)
- Statistics Collection — averages performance metrics
- Pool Clearing — prevents memory leaks on scene changes
🔌 Compatibility
- Works on both dedicated servers and clients
- Server settings automatically sync with clients
- Compatible with other mods thanks to proper Harmony patching
🚀 Recommendations
For optimal performance:
- On servers with many players, enable
EnableAILOD and EnableZDOThrottling
- For poor internet connections, increase
SteamSendRateMinKB
- If experiencing memory issues, ensure
EnableNetworkCompression is enabled
- For debugging, enable
DebugEnabled and analyze PerformanceMonitor logs
This mod significantly improves Valheim's multiplayer experience, making gameplay smoother and more responsive on both powerful servers and weaker clients!