Counter strike source linux servers

Deploy Counter-Strike: Source Game Servers

LinuxGSM is the command-line tool for quick, simple deployment and management of Linux dedicated game servers.

Counter-Strike: Source will run on popular distros as long as the minimum requirements are met.

For consistant uptime it is recomended you host a server in a data center. If you dont already have a server, you can rent a dedicated or vitual server from one of our sponsored providers, OVHCloud, Linode, Vultr.

  • Ubuntu 16.04 LTS
  • Debian 9
  • CentOS 7

Only 32-Bit game server binary is available.

SteamCMD by Valve is used to install and update this game server.

SteamDB

Steam uses appid 232330.
Update history is available from SteamDB.

Before installing, you must ensure you have all the dependencies required to run cssserver.

Ubuntu 64-bit

Debian 64-bit

EPEL is required to install some dependencies needed for using LinuxGSM on CentOS.

CentOS 64-bit

user with sudo access

root user

From the command-line do the following. Ensuring you have also installed the required dependencies.

1. Create a user and login.

For security best practice, ensure you set a strong password. Random password:

GSLT is required by this game server to show up on the Steam master server list.

For information about GSLT visit the docs.

All Commands

Running

start

restart

console

To exit the console press CTRL+b d . Pressing CTRL+c will terminate the server.

Updating

update

validate

Debugging

Details

You can get all important and useful details about the server such as passwords, ports, config files etc.

Debug

Use debug mode to help you if you are having issues with the server. Debug allows you to see the output of the server directly to your terminal allowing you to diagnose any problems the server might be having.

Server logs are available to monitor and diagnose your server. Script, console and game server (if available) logs are created for the server.

Backup

Backup will allow you to create a complete tar bzip2 archive of the whole server.

Monitor

LinuxGSM can monitor the game server by checking that the proccess is running and querying it. Should the server go offline LinuxGSM can restart the server and send you an alert. You can use cronjobs to setup monitoring.

Configure LinuxGSM

For details on how to alter LinuxGSM settings visit LinuxGSM Config Files page.

Documentation

For detailed documentation visit the LinuxGSM docs.

Cronjobs

To automate LinuxGSM you can set scheduled tasks using cronjobs, to run any command at any given time. You can edit the crontab using the following.

Below are the recommended cron tasks.

Configure LinuxGSM

For details on how to alter LinuxGSM settings visit LinuxGSM Config Files page.

Documentation

For detailed documentation visit the LinuxGSM docs.

Источник

Свой сервер Counter-Strike:Source на базе Linux

Как установить свой сервер CSS на Linux

Минимальные системные требования на 12 игроков:
Процессор Pentium-3 800 Mhz, RAM — 192 Mb, HD — 10Gb, OS: Linux Slackware 11.0.

1. Создаем специального пользователя в системе, например «css», логинимся под ним и в его домашней папке создадим директорию с названием «steam».

2. Из папки steam запускаем
CODE
wget http://www.steampowered.com/download/hldsupdatetool.bin

для того что бы получить бинарик с запакованным стимом.

3. Запускаем ./hldsupdatetool.bin

4. В папке появится бинарик «steam», который нужно запустить вот так:
./steam -command update -game «Counter-Strike Source» -dir /home/css/steam/

Какие бывают значения -game
CODE
./steam -command list
For Source/Orange Box Engine Games:
«Counter-Strike Source» — Counter-Strike: Source
«ageofchivalry» — Age of Chivalry (3rd party mod)
«alienswarm» — Alien Swarm
«cssbeta» — Counter-Strike: Source Beta
«diprip» — D.IP.R.IP.: Warm Up
«dods» — Day of Defeat: Source
«dystopia» — Dystopia (3rd party mod)
«episode1» — Half-Life 2: Episode One
«esmod» — Eternal Silence (3rd party mod)
«garrysmod» — Garry’s Mod
«garrysmodbeta» — Garry’s Mod Beta
«hl2mp» — Half-Life 2: Deathmatch
«insurgency» — Insurgency (3rd party mod)
«l4d_full» — Left 4 Dead
«left4dead» — Left 4 Dead
«left4dead2» — Left 4 Dead 2, полная версия
«left4dead2_demo» — Left 4 Dead 2 демоверсия
«orangebox» — The Orange Box engine for game mods (Orange Box)
«pvkii» — Pirates, Vikings and Knights II
«smashball» — Smashball mod for Half-Life 2
«synergy» — Synergy (3rd party mod)
«tf» — Team Fortress 2
«tf_beta» — Team Fortress 2 beta
«zps» — Zombie Panic! Source (3rd party mod)

For HL Engine Games:
«cstrike» — Counter-Strike
«cstrike_beta» — Counter-Strike 1.6 beta
«czero» — Counter-Strike: Condition Zero
«dmc» — Deathmatch Classic
«dod» — Day of Defeat
«gearbox» — Opposing Force
«ricochet» — Ricochet
«tfc» — Team Fortress Classic
«valve» — Half-Life Deathmatch

Third Party Games:
«ageofchivalry» — Age of Chivalry (3rd party mod)
«aliensvspredator» — Aliens versus Predator
«americasarmy3» — America’s army 3
«brink» — BRINK
«darkesthour» — Darkest Hour mod
«darkmessiah» — Dark Messiah
«defencealliance2» — Defence Alliance 2
«dinodday» — Dino D-Day
«diprip» — D.I.P.R.I.P. Warm Up (3rd party mod)
«dystopia» — Dystopia (3rd party mod)
«esmod» — Eternal Silence (3rd party mod)
«garrysmod» — Garry’s Mod
«garrysmodbeta» — Garry’s Mod Beta
«hauntedhellsreach» — The Haunted: Hells Reach
«homefront» — Homefront
«homefrontjpn» — Japan version of Homefront
«insurgency» — Insurgency (3rd party mod)
«killingfloor» — Killing Floor
«killingfloor_beta» — Killing Floor beta
«marenostrum» — Mare Nostrum, a TC mod for Red Orchestra (3rd party mod)
«modernwarfare3» — Call of Duty: Modern Warfare 3
«mondaynightcombat» — Monday Night Combat
«naturalselection2» — Natural Selection 2
«nexuiz» — Nexuiz
«nucleardawn» — Nuclear Dawn
«pvkii» — Pirates, Vikings and Knights II
«redorchestra» — Red Orchestra
«redorchestra_beta» — Red Orchestra beta
«redorchestra2» — Red Orchestra 2
«redorchestra2beta» — Red Orchestra 2 Beta
«serioussam3» — Red Orchestra 3
«serioussamhdse» — Serious Sam HD SE
«ship» — The Ship
«sin» — SiN 1
«smashball» — Smashball mod for Half-Life 2
«sniperelitev2» — Sniper Elite V2
«synergy» — Synergy (3rd party mod)
«tshb» — ThreadSpace: Hyperbol
«zps» — Zombie Panic! Source (3rd party mod)

Читайте также:  Не могу запустить службу обеспечения безопасности windows

5. Теперь ждем где-то с час, пока загрузится сама игра (около 1,1 Gb).

6. Прежде чем приступить к запуску сервера, желательно его настроить. Подавляющее большинство настроек SRCDS выполняется с помощью файла server.cfg, расположенного в папке /orangebox/cfg установленной игры (/orangebox/cstrike/cfg для Counter-Strike: Source, /orangebox/hl2mp/cfg для HL2DM, /orangebox/dod/cfg для Day of Defeat: Source).

При отсутствии этого файла (как например при начальной становке) сервер запускается со значениями по умолчанию.

Другие файлы, на которые вам стоит обратить внимание (на примере CSS, для других игр, замените cstrike на папку игры):

/cstrike/maplist.txt — содержит список всех карт на сервере. Если карты нет в списке, то ее нельзя поставить, даже если соответствующий .bsp файл находится в папке maps
/cstrike/mapcycle.txt — содержит список карт, которые находятся в игровом цикле. Если карты здесь нет, то поствить ее можно только вручную.
/cstrike/motd.txt — содержит приветственное сообщение, демонстрируемое игрокам при входе на сервер или при смене карты. При форматировании использутеся HTML
/cstrike/cfg/autoexec.cfg — содержит параметры, которые должны выполняться один раз при запуске сервера (в отличие от server.cfg, который исполняется при каждой смене карты).

Вот пример нашего server.cfg:
CODE
// server name
hostname «[GameArmy.ru] No AWP #1»
rcon_password «PAROL_RCON»
// Advanced RCON
sv_rcon_banpenalty 10
sv_rcon_maxfailures 10
sv_rcon_minfailures 5
sv_rcon_minfailuretime 30
// server cvars
mp_friendlyfire 1
mp_footsteps 1
mp_autoteambalance 0
mp_autokick 1
mp_flashlight 1
mp_tkpunish 1
mp_forcecamera 1
sv_alltalk 0
sv_pausable 0
sv_cheats 0
sv_consistency 0
sv_allowupload 1
sv_allowdownload 1
sv_maxspeed 320
mp_limitteams 2
mp_hostagepenalty 5
sv_voiceenable 1
mp_allowspectators 1
mp_timelimit 20
mp_chattime 10
sv_timeout 65
// round specific cvars
mp_freezetime 3
mp_roundtime 4
mp_startmoney 800
mp_c4timer 45
mp_fraglimit 0
mp_maxrounds 0
mp_winlimit 33
mp_playerid 0
mp_spawnprotectiontime 5
// bandwidth rates/settings
sv_minrate 4000
sv_maxrate 20000
decalfrequency 10
sv_maxupdaterate 33
sv_minupdaterate 10
net_maxfragments 1400
net_maxfilesize 128
// server logging
log on
sv_logbans 1
sv_logecho 1
sv_logfile 1
sv_log_onefile 1
// operation
sv_lan 0
sv_region 255
sv_contact gamearmy@mail.ru
// execute ban files
exec banned_user.cfg
exec banned_ip.cfg
// Вот эта строчка нужна для админ-плагина «Mani»
exec mani_server.cfg

7. Теперь установим Mani-admin-plugin (я использую стабильную версию). Содержимое архива надо распаковать в соответствующие папки.

8. Переходим в папку /home/css/steam/cstrike/addons/ и создаем там файлик
CODE
«mani_admin_plugin.vdf» следующего содержания:
«Plugin»
<
«file» «../cstrike/addons/mani_admin_plugin_i486.so»
>

9. Все основные настройки мани находятся в файле /home/css/steam/cstrike/cfg/mani_server.cfg.

10. Запускаем CS:S командой
/home/css/steam/orangebox/srcds_run -console -tickrate 33 +fps_max 600 -game cstrike -port 27015 +map de_dust +maxplayers 12

Рассмотрим подробнее параметры запуска SRCDS
-console — запускает сервер в консольном режиме. Без этого параметра сервер запустится с графическим интерфейсом (как через Steam) и потребует ручного нажатия кнопки для действительного запуска
-game — указывает игру, для которой запускается сервер. Для серверов HL2DM и DOD Source необходимо указывать hl2mp и dod соответственно.
+maxplayers — указывает максимальное количество игроков на сервере
+map — указывает стартовую карту для сервера. Этот параметр обязателен, кроме случая установки SourceTV прокси.
-32bit // Запуск в 32-разрядном режиме. Полезно только на 64-битных операционных системах.
-dev // Включает режим разработчика.
-autoconfig // Восстановление видео настроек по умолчанию. Игнорирует настройки внутри любого CFG файла.
-dxlevel // Устанавливает версию DirectX.
-insecure // Запускает сервер без использования технологии защиты от читеров (Valve Anti-Cheat).
-nobots // Отключить ботов.

Другие параметры:
+ip — указывает ip адрес, на котором запускается сервер. Использовать только в случае наличия нескольких адресов на сервере!
-port — указывет UDP порт, на котором запускается сервер. По умолчанию используется порт 27015. Если порт по умолчанию занят, автоматически используется следующий.
+tv_port — указывает UDP порт, на котором запускается SourceTV. По умолчанию используется порт 27020, если он занят, автоматически используется следующий
-tickrate — указывает тикрейт сервера. По умолчанию CSS запускается с тикрейтом 33, HL2DM и DOD: Source — 66. Выставление значений ниже значений по умолчанию или значений не кратных 33 приведет к проблемам на сервере!

11. Наслаждаемся игрой на собственном сервере!

Вышеописанные конфиги предназначены для малопроизводительного сервера на 10-12 игроков максимум.

Читайте также:  Установка нового пользователя windows

Для обновления сервера нужно повторить пункт 4.

Как правильно отправить работать сервер в фон с возможностью иногда вызывать его оттуда?
Запустить сервер командой (для этого в системе должна быть установлена программа screen):
CODE
screen -A -m -d -S css ./srcds_run -console -tickrate 33 +fps_max 600 -game cstrike -port 27015 +map de_dust +maxplayers 12

Сервер уйдет в фон. Вызвать его можно оттуда командой:
screen -r css
А вновь отправить srcds в фон можно нажав на клавиатуре сначала CTRL+A затем тут же CTRL+D Класс

Источник

[Counter-Strike : Source] на OC Linux

Этот мануал посвящён новичкам , которые хотели бы иметь свой выделенный сервер на ОС Linux

Для начала создания вы должны определиться сколько у вас будет серверов и в какой папке они будут находиться. Я буду предоставлять вам материал исходя из того что сервер будет находится в папке server . Второй более важный момент , это среда — будь она просто текстовая , будь она KDE или GNOME . Тут мы вам скажем одно, если вы опытный пользователь Пингвинов , то вы можете это сделать на чистой ОС , если вы новичок то настоятельно вам рекомендуем использовать графическую среду , какую именно вы определяйтесь сами , но данный материал будет написан для консольной и графической версий. И так что мы имеем ? А мы имеем ОС Debian 6.0.1 x64 , так же этот материал подойдёт для систем Ubuntu и Kubuntu. Для новичков использующих графическую среду , все ниже описанные команды нужно будет вводить в терминале с правами пользователя root.

ПРИМЕЧАНИЕ : Все вводимые команды нужно вводить от пользователя root.

Команда mkdir создаёт папку server , а cd перемещает вас в неё.
Значит мы создали папку для нашего сервера , теперь нам предстоит создать так называемое ядро сервера (билд) , для чего нам поможет утилита hldsupdatetool

Описание : Утилита предназначена для создания и обновления выделенных серверов компании VALVE
Автор : Компания VALVE
Официальный сайт : http://www.steampowered.com

Теперь нам надо установить эту утилиту , для чего набираем команду :

Эта команда скачивает с официального сайта саму утилиту :

Теперь в нашей папке server появляется hldsupdatetool.bin , если хотите то можете зайти и проверить , далее :

Эта команда начинает установку самой утилиты . При запуске установки вам предложат принять лицензионное соглашение :

Для принятия соглашения вам необходимо набрать yes , после чего утилита установиться и выдаст об этом сообщение : extracting steam.tar.Z. done

ПРИМЕЧАНИЕ : Для пользователей 64-битных систем , а в частности Ubuntu , у вас возможно появится ошибка : bash: ./hldsupdatetool.bin: No such file or directory . Во избежании этого вам необходимо установить кое какие библиотеки , для чего вам нужно набрать команду :

./steam — говорит нам запустить уже установленную утилиту hldsupdatetool
-command update — запустить обновление или установку (изменять ничего не требуется)
-game «Counter-Strike Source» — тип сервера , в нашем случае Counter-Strike Source (изменять ничего не требуется)
-dir ../server — путь к папке сервера (путь к этой папке изменяйте на свой )
-verify_all — проверяет на наличие последних обновлённых файлов сервера , основываясь на информации от разработчика (изменять ничего не требуется)

Если вы делаете шаг за шагом как у нас , то у вас должно выглядеть вот так :

Теперь сохраняем нажав Ctrl+O на вопрос о сохранении жмём ввод и выходим из редактора нажав Ctrl+X. Для того чтобы запустить наш файл ему необходимо добавить права , для чего вводим команду :

Если вы всё сделали правильно , то у вас должна запуститься утилита и если вы запустили её первый раз , то она для начала обновит сама себя :

После чего вам необходимо запустить файл второй раз , при этом утилита начнёт искать недостающие файлы в вашей папке сервера и качать их вам напрямую с официального сайта загрузки :

Ну а в нашем случае , она будет качать абсолютно все файлы сервера , так как мы создаём его с нуля. Помните мы говорили вам , что эта утилита будет служить так же и обновлением ? Совершенно верно , если произойдут какие-то обновления со стороны разработчиков , ты вы смело запускайте файл update.sh , утилита найдёт не обновлённые файлы , скачает и заменит их в вашем сервере. Ну а сейчас вам остаётся только ждать , ждать конца загрузки файлов — это зависит от вашей скорости , ширины канала и вашего месторасположения. Как говорит Grizli и пусть трещит ваш провайдер 🙂
По окончанию загрузки и проверки всех файлов , утилита автоматически остановится. Но мы вам настоятельно рекомендуем ещё раз запустить update.sh , для того чтобы утилита ещё раз проверила все файлы , и если что то у вас не загрузилось или произошёл незаметный обрыв связи с интернетом , то утилита исправит это недоразумение. Как говориться проверка лишней не бывает. После всего у вас папке сервера появятся новые файлы и папки.

Ну что же , мы поздравляем вас ! Вы установили основу сервера (билд,ядро).

Ну что же вам наверно не терпится запустить свой сервер и зайти на него поиграть ? Ну что же , давайте запустим созданный нами сервер. Для этого нам необходимо снабдить основу (билд,ядро) некоторой информацией и настройками.Для начала нам необходимо создать файл для запуска , назовём его start.sh , который необходимо создавать рядом с файлом srcds_run , то есть в папке orangebox . Ну что , переходим в папку orangebox и пишем команду :

Читайте также:  Windows disk burning software

ПРИМЕЧАНИЕ : Для тех кто не помнит , переход из папки в паку осуществляется командой cd

И так , вставляем туда текст следующего содержания :

echo «Starting Classic CSS» — выводит сообщение при запуске сервера (изменяйте на ваш вкус)
sleep 1 — делает паузу на 1 секунду (изменять не требуется)
screen -A -m -d -S — Это создаст сессию работы со screen, которая будет называться «css-classic» с которой все это будет запускаться.
css-classic — имя процесса — сеанса (изменяйте на ваш вкус)
-console — запустить консоль работы сервера (изменять не требуется)
-game cstrike — тип игры , а точнее основная папка сервера (изменять не требуется)
-port 27019 — UDP порт работы вашего сервера (если знаете что делаете то изменяйте , если нет то оставьте как есть)
+maxplayers 24 — максимальное число игроков на вашем сервере (изменяйте на свой вкус)
+map de_dust2 — начальная карта при запуске сервера (можете поставить другую , но она должна обязательно быть в папке maps и обязательно должна быть прописана в файле maplist.txt)

ПРИМЕЧАНИЕ : screen – это полноэкранный оконный менеджер, который позволяет разделить физический терминал между несколькими независимыми процессами. Скорее всего, screen уже есть в вашей системе. Проверить это можно командой :

Вот вам и готов файл для запуска вашего сервера , но запускать сервер не торопимся , так как сервер должен запуститься с настройками из файла server.cfg Хотим сразу вас предупредить , что этот файл не входит в дистрибутив разработчиков и поэтому нам нужно создать его самому. Но мы упростим вам задачу и выложим уже готовый для вас файл :

Описание : файл служит для настроек сервера
Автор : KOLOBOK
Загрузка : Для загрузки вам необходимо перейти в \server\orangebox\cstrike\cfg и выполнить команду :

Затем откройте файл с помощью команды :

И измените в нём следующие строки :

hostname » Classic Server CSS » — это имя вашего сервера , впишите своё имя (использовать только английский текст)
sv_contact » www.csmania.ru » — это данные о вас , а точнее о хозяине сервера (можно использовать почтовый ящик , например [email protected] )
rcon_password » security » — пароль для удалённого управления вашим сервером , обязательно поменяйте на свой (использовать только английский текст или цифры)

Сохраните файл. Далее нам необходимо создать ещё 2 файла , это banned_ip.cfg и banned_user.cfg , соответственно :

Так же сохраняем его пустой и выходим из редактора .

Эти файлы буду служить базой забаненных игроков , причём banned_ip.cfg — забаненных по IP адресу , а banned_user.cfg — по STEAM_ID. Файлы необходимо создать в той же папке , где находится server.cfg , в нашем случае тут : ..\server\orangebox\cstrike\cfg

Ну что скачали server.cfg ? Настроили его под себя ? Создали файлы banned_ip.cfg и banned_user.cfg ?

Вроде бы всё готово для запуска , но не торопитесь.. Давайте забежим немного вперёд и обсудим ещё 1 очень важную деталь..По умолчанию на сервер устанавливается 20 карт , и только 18 из них игровых , но в игре вы не когда не встретите эти 2 не игровые карты . Спросите почему ? Ответ прост , дело в том что сервер читает карты из файла maplist.txt , который находится тут : ..\server\orangebox\cstrike , а сами карты находятся тут : ..\server\orangebox\cstrike\maps (сама карта имеет расширение bsp) . Дак вот , самое главное правило по картам для сервера : » Карты которые находятся в списке файла maplist.txt , должны обязательно находится в папке maps ( ..\server\orangebox\cstrike\maps) и иметь точно такое же название с учётом регистра (голое название без расширения)» . И ещё один момент , цикл карт по умолчанию на сервере формируется на основе файла mapcycle.txt который находится тут : ..\server\orangebox\cstrike и тут же формируется второе правило : » Карты , которые находятся в списке файла mapcycle.txt должны обязательно быть в списке карт файла maplist.txt и иметь такие же имена с учётом регистра«. Ну это мы вам на будущее , если вы вдруг захотите добавить не стандартные карты на сервер.

ПРИМЕЧАНИЕ : Для тех новичков , которые находятся в консольной версии и не знают как посмотреть что находится в той или иной папке , то для этого имеется команда :

Например в нашей папке maps при вводе команды ls , должен отобразиться список карт примерно так :

Ну что проверили папку maps ? Проверили файлы maplist.txt и mapcycle.txt ? Правила не нарушены ? 🙂 А кто их успел нарушить ? Мы ведь ещё не добавляли ни каких карт. ) Пришло время запускать сервер . Запускаем файл start.sh , для этого переходим в /server/orangebox/ и выполняем команду :

Где css-classic — это вы уже сами догадались имя процесса- сессии , которое мы указывали в строке запуска. Для того чтоб вернуться в консоль своей системы из серверной консоли вам необходимо нажать Ctrl+A+D . Для того чтобы остановить ваш сервер , вам всего лишь нужно убить процесс , который использует нашу сессию , для этого необходимо набрать команду :

Эта команда выводит список всех запущенных процессов в ваше системе , в том числе и сервер :

Ну что же ищем номер нашего процесса , а наш процесс находится под номером 2699 , ну что же убиваем его , набрав команду :

Всё , сервер остановлен . Вы можете это проверить набрав заново ps ax .

Я очень надеюсь что этот мануал может кому-нибудь помочь.

Источник

Оцените статью