Оптимизация производительности CS сервера на Ubuntu 24.04: различия между версиями
Admin (обсуждение | вклад) Новая страница: «= Оптимизация производительности CS сервера на Ubuntu 24.04 = == Введение == Оптимизация произво…» |
Починка разметки: ссылки и жирный шрифт из Markdown, лишние обратные косые черты в коде, заголовки — проверка вики 13.11.2026 |
||
| (не показана 1 промежуточная версия этого же участника) | |||
| Строка 7: | Строка 7: | ||
== Системные требования == | == Системные требования == | ||
* | * '''ОС:''' Ubuntu 24.04 LTS | ||
* | * '''RAM:''' Минимум 4 ГБ (рекомендуется 8+ ГБ) | ||
* | * '''CPU:''' 4+ ядра (рекомендуется 6+ ядер) | ||
* | * '''Диск:''' SSD накопитель | ||
* | * '''Сеть:''' Высокоскоростное интернет-соединение | ||
== 1. Оптимизация системы == | == 1. Оптимизация системы == | ||
| Строка 139: | Строка 139: | ||
=== Настройка сетевых интерфейсов === | === Настройка сетевых интерфейсов === | ||
< | Файл netplan для этого менять не нужно. Ключей <code>rx</code> и <code>tx</code> в netplan нет: файл с ними не применится, а ошибка в настройках сети может оставить сервер без связи после перезагрузки. | ||
< | Текущие размеры буферов сетевой карты можно посмотреть так (имя интерфейса возьмите из вывода <code>ip a</code>; на виртуальных сетевых картах VDS эти размеры обычно не меняются): | ||
<pre> | <pre>ethtool -g eth0</pre> | ||
== 5. Оптимизация сервера CS == | == 5. Оптимизация сервера CS == | ||
| Строка 253: | Строка 244: | ||
=== Настройка SSD === | === Настройка SSD === | ||
'''Внимание:''' не добавляйте в <code>/etc/fstab</code> новую строку для корневого раздела: вторая строка для «/» или неверный UUID не дадут серверу загрузиться. Меняйте только параметры в уже существующей строке. | |||
<pre>sudo nano /etc/fstab</pre> | <pre>sudo nano /etc/fstab</pre> | ||
В существующей строке корневого раздела допишите <code>noatime</code> к параметрам монтирования, остальное не трогайте. Например, было: | |||
<pre>UUID=... / ext4 defaults 0 1</pre> | |||
стало: | |||
<pre>UUID=... / ext4 defaults,noatime 0 1</pre> | |||
Проверьте файл и примените изменение без перезагрузки: | |||
<pre>sudo findmnt --verify | |||
sudo mount -o remount /</pre> | |||
< | Параметр <code>discard</code> не нужен: в Ubuntu освобождённые блоки SSD раз в неделю очищает таймер <code>fstrim.timer</code>, он включён по умолчанию. | ||
=== Настройка I/O планировщика === | === Настройка I/O планировщика === | ||
| Строка 317: | Строка 321: | ||
=== Оптимизация iptables === | === Оптимизация iptables === | ||
Откройте порты сервера через UFW: | |||
<pre> | <pre>sudo ufw allow 27015/tcp | ||
sudo ufw allow 27015/udp</pre> | |||
< | '''Внимание:''' не загружайте правила командой <code>iptables-restore</code> на сервере, где включён UFW: она заменяет все действующие правила, в том числе правила UFW, и сервер остаётся без файрвола. | ||
== 10. Резервное копирование == | == 10. Резервное копирование == | ||
| Строка 366: | Строка 362: | ||
Вы всегда можете установить оптимизированный CS сервер на нашем хостинге! Мы предоставляем: | Вы всегда можете установить оптимизированный CS сервер на нашем хостинге! Мы предоставляем: | ||
* | * '''VDS/VPS серверы:''' https://ark-hoster.ru/vpsgame/ | ||
* | * '''Выделенные серверы:''' https://ark-hoster.ru/dedicated/ | ||
Наши серверы уже оптимизированы для игровых серверов и обеспечивают максимальную производительность. | Наши серверы уже оптимизированы для игровых серверов и обеспечивают максимальную производительность. | ||
Текущая версия от 08:12, 14 ноября 2026
Оптимизация производительности CS сервера на Ubuntu 24.04
Введение
Оптимизация производительности CS сервера — критически важная задача для обеспечения стабильной работы и низкого пинга. В данной статье рассмотрим различные методы оптимизации CS сервера на Ubuntu 24.04.
Системные требования
- ОС: Ubuntu 24.04 LTS
- RAM: Минимум 4 ГБ (рекомендуется 8+ ГБ)
- CPU: 4+ ядра (рекомендуется 6+ ядер)
- Диск: SSD накопитель
- Сеть: Высокоскоростное интернет-соединение
1. Оптимизация системы
Настройка параметров ядра
sudo nano /etc/sysctl.conf
Добавьте следующие параметры:
# Оптимизация сети net.core.rmem_max = 33554432 net.core.wmem_max = 33554432 net.ipv4.tcp_rmem = 4096 65536 33554432 net.ipv4.tcp_wmem = 4096 65536 33554432 net.core.netdev_max_backlog = 10000 net.ipv4.tcp_congestion_control = bbr # Оптимизация памяти vm.swappiness = 10 vm.dirty_ratio = 15 vm.dirty_background_ratio = 5 vm.vfs_cache_pressure = 50 # Оптимизация файловой системы fs.file-max = 2097152 fs.nr_open = 2097152
Применение настроек
sudo sysctl -p
Настройка лимитов системы
sudo nano /etc/security/limits.conf
Добавьте следующие строки:
# Лимиты для игрового сервера * soft nofile 65536 * hard nofile 65536 * soft nproc 65536 * hard nproc 65536
2. Оптимизация CPU
Настройка CPU губернатора
sudo apt install -y cpufrequtils
echo 'GOVERNOR="performance"' | sudo tee /etc/default/cpufrequtils sudo systemctl enable cpufrequtils sudo systemctl start cpufrequtils
Отключение энергосбережения
sudo nano /etc/default/grub
Измените строку:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=1 processor.max_cstate=1"
sudo update-grub sudo reboot
Настройка приоритета процессов
sudo nano /etc/systemd/system/csgo.service
[Unit] Description=CS:GO Server After=network.target [Service] Type=simple User=csgo WorkingDirectory=/home/csgo/csgo-server ExecStart=/home/csgo/start-csgo.sh Restart=always RestartSec=10 Nice=-10 IOSchedulingClass=1 IOSchedulingPriority=4 [Install] WantedBy=multi-user.target
3. Оптимизация памяти
Настройка swap
sudo fallocate -l 4G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Настройка параметров памяти
sudo nano /etc/sysctl.conf
# Оптимизация памяти vm.swappiness = 10 vm.dirty_ratio = 15 vm.dirty_background_ratio = 5 vm.vfs_cache_pressure = 50 vm.overcommit_memory = 1
4. Оптимизация сети
Настройка TCP параметров
sudo nano /etc/sysctl.conf
# TCP оптимизация net.ipv4.tcp_window_scaling = 1 net.ipv4.tcp_timestamps = 1 net.ipv4.tcp_sack = 1 net.ipv4.tcp_no_metrics_save = 1 net.ipv4.tcp_moderate_rcvbuf = 1 net.ipv4.tcp_rmem = 4096 65536 33554432 net.ipv4.tcp_wmem = 4096 65536 33554432 net.core.rmem_max = 33554432 net.core.wmem_max = 33554432
Настройка сетевых интерфейсов
Файл netplan для этого менять не нужно. Ключей rx и tx в netplan нет: файл с ними не применится, а ошибка в настройках сети может оставить сервер без связи после перезагрузки.
Текущие размеры буферов сетевой карты можно посмотреть так (имя интерфейса возьмите из вывода ip a; на виртуальных сетевых картах VDS эти размеры обычно не меняются):
ethtool -g eth0
5. Оптимизация сервера CS
Настройка параметров запуска
nano /home/csgo/start-csgo.sh
#!/bin/bash
cd /home/csgo/csgo-server
# Оптимизация для производительности
export MALLOC_CHECK_=0
export MALLOC_PERTURB_=0
./srcds_run -game csgo -console -usercon \
+fps_max 300 \
-tickrate 128 \
+game_type 0 \
+game_mode 1 \
+mapgroup mg_active \
+map de_dust2 \
+sv_setsteamaccount YOUR_STEAM_TOKEN \
-net_port_try 1 \
+sv_lan 0 \
+sv_region 255 \
+sv_steamgroup "" \
+sv_steamgroup_exclusive 0 \
+sv_consistency 1 \
+sv_pure 1 \
+sv_cheats 0 \
+sv_parallel_sendsnapshot 1 \
+sv_parallel_packentities 1 \
+sv_forcepreload 1
Настройка server.cfg
nano /home/csgo/csgo-server/csgo/cfg/server.cfg
# Оптимизация производительности sv_parallel_sendsnapshot 1 sv_parallel_packentities 1 sv_forcepreload 1 sv_optimize_players 1 sv_optimize_entities 1 # Настройки сети sv_maxrate 0 sv_minrate 100000 sv_maxupdaterate 128 sv_minupdaterate 64 sv_maxcmdrate 128 sv_mincmdrate 64 # Настройки тика sv_tickrate 128 sv_clockcorrection_msecs 30 # Настройки FPS fps_max 300 fps_max_menu 300
6. Мониторинг производительности
Установка инструментов мониторинга
sudo apt install -y htop iotop nethogs
Создание скрипта мониторинга
nano /home/csgo/monitor.sh
#!/bin/bash echo "=== CPU Usage ===" top -bn1 | grep "Cpu(s)" echo "" echo "=== Memory Usage ===" free -h echo "" echo "=== Disk Usage ===" df -h echo "" echo "=== Network Usage ===" cat /proc/net/dev echo "" echo "=== CS:GO Process ===" ps aux | grep srcds
chmod +x /home/csgo/monitor.sh
Настройка автоматического мониторинга
crontab -e
Добавьте строку для мониторинга каждые 5 минут:
*/5 * * * * /home/csgo/monitor.sh >> /home/csgo/monitor.log
7. Оптимизация диска
Настройка SSD
Внимание: не добавляйте в /etc/fstab новую строку для корневого раздела: вторая строка для «/» или неверный UUID не дадут серверу загрузиться. Меняйте только параметры в уже существующей строке.
sudo nano /etc/fstab
В существующей строке корневого раздела допишите noatime к параметрам монтирования, остальное не трогайте. Например, было:
UUID=... / ext4 defaults 0 1
стало:
UUID=... / ext4 defaults,noatime 0 1
Проверьте файл и примените изменение без перезагрузки:
sudo findmnt --verify sudo mount -o remount /
Параметр discard не нужен: в Ubuntu освобождённые блоки SSD раз в неделю очищает таймер fstrim.timer, он включён по умолчанию.
Настройка I/O планировщика
echo mq-deadline | sudo tee /sys/block/sda/queue/scheduler
Очистка логов
sudo nano /etc/logrotate.d/csgo
/home/csgo/csgo-server/csgo/logs/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 644 csgo csgo
}
8. Оптимизация SourceMod
Настройка плагинов
nano addons/sourcemod/configs/core.cfg
# Оптимизация SourceMod sm_plugins_version "1.12.0" sm_plugins_autoreload "0" sm_plugins_autoreload_time "0" sm_logging_level "0"
Отключение ненужных плагинов
sm plugins unload plugin_name
Настройка базы данных
nano addons/sourcemod/configs/databases.cfg
"Databases"
{
"default"
{
"driver" "mysql"
"host" "localhost"
"database" "sourcemod"
"user" "sourcemod"
"pass" "your_password"
"port" "3306"
"timeout" "10"
"charset" "utf8"
}
}
9. Настройка файрвола
Оптимизация iptables
Откройте порты сервера через UFW:
sudo ufw allow 27015/tcp sudo ufw allow 27015/udp
Внимание: не загружайте правила командой iptables-restore на сервере, где включён UFW: она заменяет все действующие правила, в том числе правила UFW, и сервер остаётся без файрвола.
10. Резервное копирование
Создание скрипта бэкапа
nano /home/csgo/backup-optimized.sh
#!/bin/bash BACKUP_DIR="/home/csgo/backups" SERVER_DIR="/home/csgo/csgo-server" DATE=$(date +%Y%m%d_%H%M%S) mkdir -p $BACKUP_DIR # Создание бэкапа с оптимизацией tar --exclude='logs/*' --exclude='*.log' -czf $BACKUP_DIR/csgo_optimized_backup_$DATE.tar.gz -C $SERVER_DIR . # Удаление старых бэкапов (старше 7 дней) find $BACKUP_DIR -name "csgo_optimized_backup_*.tar.gz" -mtime +7 -delete
chmod +x /home/csgo/backup-optimized.sh
Заключение
Оптимизация CS сервера на Ubuntu 24.04 завершена. Теперь ваш сервер:
- Работает с максимальной производительностью
- Имеет низкий пинг
- Стабильно обрабатывает игроков
- Эффективно использует ресурсы
Хостинг
Вы всегда можете установить оптимизированный CS сервер на нашем хостинге! Мы предоставляем:
- VDS/VPS серверы: https://ark-hoster.ru/vpsgame/
- Выделенные серверы: https://ark-hoster.ru/dedicated/
Наши серверы уже оптимизированы для игровых серверов и обеспечивают максимальную производительность.