
- # echo 'linux_load="YES"' >> /boot/loader.conf
- # kldload linux
- # sysctl linux.compat.osrelease=2.6.16
- # echo 'linux.compat.osrelease=2.6.16' >> /etc/sysctl.conf
- # echo 'linux_enable="YES"' >> /etc/rc.conf
- # /etc/rc.d/abi start
- # cd /usr/ports/emulators/linux_base-f10
- # make install clean
- # echo 'linproc /compat/linux/proc libprocfs rw 0 0' >> /etc/fstab
- # mount /compat/linux/proc
- [S_API FAIL] SteamAPI_Init() failed; unable to update local steamclient. Continuing with current version anyway.
- [S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.dll.
- FATAL ERROR (shutting down): Unable to initialize Steam.
- # mkdir /home/steam
- # pw groupadd steam
- # pw useradd steam -g steam -d /home/steam -s /bin/csh -c 'Conter-Strike 1.6 server'
- # chown steam:steam /home/steam
- # chmod 750 /home/steam
- # su -l steam
- % wget http://steampowered.com/download/hldsupdatetool.bin
- % chmod +x hldsupdatetool.bin
- % mkdir /home/steam/cs
- % ./steam -command update -game cstrike -dir /home/steam/cs
- Checking bootstrapper version ...
- Updating Installation
- Checking/Installing 'Counter-Strike Base Content' version 35
- Checking/Installing 'Linux Server Engine' version 55
- Checking/Installing 'Half-Life Base Content' version 12
- HLDS installation up to date
- Metamod - менеджер плагинов, позволяет динамически загружать/выгружать DLL плагины для добавления новых возможностей в движок Half-Life
- dproto - благодаря ему сервер будет принимать соединения по протоколу версии 47 и 48
- PodBot - собственно мод, который добавляет игроков в контру, управляемых компьютером
- % pwd
- /home/steam/mods/metamod
- % tar -xvf metamod-1.19-linux.tar.gz
- % cd /home/steam/cs/cstrike
- % mkdir -p addons/metamod/dlls && cd addons/metamod/dlls
- % mv /home/steam/mods/metamod/metamod_i386.so ./
- gamedll "dlls\mp.dll"
- gamedll_linux "dlls/cs_i386.so"
- gamedll "addons/metamod/dlls/metamod.dll"
- gamedll_linux "addons/metamod/dlls/metamod_i386.so"
- <platform> <filepath> [<description>]
- Ключевое слово platform принимает два значения - "linux" или "win32"
- filepath - путь до динамической библиотеки. Можно указывать как релятивный путь (началом считается директория игры - cstrike), так и абсолютный. В путях могут использоваться слеши только в unix-стиле, даже если сервер работает под windows.
- description - это не обязательное поле, используется как внутреннее имя плагина, которое отображается в логах и в выводе сообщений на консоль. В этом поле допускается использовать знаки разделения. Двойные или одинарные кавычки не обязательны. Комментарии можно размещать только вначале строки, они могут начинаться с символов - "#" или "//".
Пример конфига "cstrike/addons/metamod/plugins.ini":
- //linux dlls/mybot.so
- # win32 dlls/mybot-old.dll Mybot old
- win32 dlls/mybot.dll Mybot current
- linux /tmp/stub_mm_i386.so
- win32 /tmp/stub_mm_i386.dll
- linux ../dlls/trace_mm_i386.so
- win32 ../dlls/trace_mm_i386.dll
- linux dlls/admin_MM_i386.so
- win32 dlls/admin_MM_i386.dll
- загружаются новые плагины, если такие были добавлены
- выгружаются плагины, которые были удалены из файла. Это работает только для плагинов, которые загружены из ini файла
- любой плагин перезагружается, если его местоположение на диске было изменено.
- % pwd
- /home/steam/mods/dproto
- % unrar e dproto_0_9_87.rar
- % cd /home/steam/cs/cstrike/addons
- % mkdir dproto && cd dproto
- % mv /home/steam/mods/dproto/bin/Linux/dproto_i386.so ./
- % cd /home/steam/cs/cstrike
- % mv /home/steam/mods/dproto/dproto.cfg ./
- linux addons/dproto/dproto_i386.so
- % pwd
- /home/steam/mods/podbot
- % tar -xvf podbot_full_V3B21.zip
- % cd /home/steam/cs/cstrike/addons
- % mv /home/steam/mods/podbot/podbot ./
- % cd podbot
- % find . -type f -exec chmod -x {} \;
- # Это конфигурационный файл для Pod-Bot (для HL Counter-Strike)
- #
- # Любая строка, начинающаяся с '#' считается комментарием
- #
- # Ни одна строка не должна превышать длину в 80 символов
- #
- # Далее перечислены допустимые команды в файле podbot.cfg:
- #
- # Все аргументы в квадратных скобках являются не обязательными,
- # если вы их не укажите, то будет подставлено случайное значение
- #
- # pb add [skill [personality [team [model [name]]]]] - добавляет бота:
- # с уровнем мастерства (skill) из диапазона от 0 до 100
- # тактикой (personality) 1 - номальная, 2- агрессивная, 3 - защитная
- # командой (team) 1- террористы, 2 - спецназ, 5 - автовыбор
- # модель (model), это тоже самое что, видит игрок на экране выбора
- # модели
- # имя (name) это конечно же имя бота, отображаемое в игре
- #
- # Если вы опустите аргументы, то будет создан бот со случайным
- # уровнем мастерства (между pb_minbotskil и pb_maxbotskill),
- # так же бот получит случайную модель и случайное имя,
- # взятое из файла "Botnames.txt". Вы можете добавить свои
- # имена для ботов в этот файл.
- # ! Ни в коем случае не удаляйте файл BotChat.txt, он всегда используется !
- # pb fillserver [skill [personality [team [model]]]] - автоматически
- # добавляет ботов на сервер, пока не будет исчерпан лимит
- # боты + игроки:
- # 1. pb_maxbots, если задана (значение должно быть отлично от 0)
- # 2. если предыдущее значение не задано или равно 0, то в роли
- # ограничителя используется значение mp_maxplayers
- # Этот параметр устанавливает директорию, из которой
- # загружаются (или сохраняются) вэйпоинты (относительно
- # директории POD-Bot). Не используйте в пути косую черту
- # и пробелы. Это не будет работать для первой созданной
- # вами игры (она стартует со значением wptdefault). Но когда
- # создадите во второй раз или загрузите новую карту, то
- # используется, указанная вами директория.
- # По умолчанию, занчение этой переменной - wptdefault
- pb_wptfolder wptdefault
- # Установите значение в 1, чтобы отображалось приветствие
- # при старте игры
- # По умолчанию: 0
- pb_welcomemsgs 0
- # Используйте этот параметр, чтобы вкл/выкл Speech Synthesis.
- # По умолчанию: 0 (выключено).
- pb_usespeech 0
- # Следующие два параметра устанавливают минимальное и
- # максимальное количество ботов на сервере. Эти значения
- # работают вместе с pb fillserver и pb removebots. Актуальное
- # количество ботов находится в указанном диапазоне, с помощью
- # этих параметров.
- # Ботов можно будет добавлять, пока общее количество
- # игроков (ботов и людей) не исчерпает значение pb_maxbots.
- # Каждый раз, при подключении нового игрока к серверу,
- # будет удаляться бот с сервера до тех пор, пока количество
- # ботов не достигнет pb_minbots. После того, как игроки
- # отключатся от сервера, будут автоматически добавляться боты,
- # пока общее число игроков на сервере (боты + люди) снова
- # не исчерпает значение pb_maxbots. Значение pb_maxbots должно
- # быть хотя бы на 1 меньше, чем значение maxplayers (иначе никто
- # не сможет подключиться к серверу). Вы можете отключить эту
- # функцию установив значение pb_maxbots в 0. Так же эта функция
- # не будет работать в случае, если значение переменной
- # pb_bot_quota_match больше 0 (в этом случае общее количество ботов
- # будет вычисляться выражением люди * pb_bot_quota_match - конечно
- # с учетом лимитов)
- # По умолчанию:
- # pb_bot_quota_match = 0.
- # pb_minbots = 0, pb_maxbots = 16.
- pb_minbots 0
- pb_maxbots 16
- pb_bot_quota_match 0
- # С помощью следующей опции можно указать команду, в которую
- # будут добавляться боты. Полезна, если вы хотите иметь одну
- # команду, состоящую только из ботов.
- # Возможные значения: "ANY", "T", "CT". По умолчанию: "ANY"
- pb_bot_join_team "ANY"
- # С помощью следующей опции можно указать модель, которую
- # боты "возьмут" при добавлении. Полезна, если вы хотите, чтобы
- # в одной команде имели одинакоые модели.
- # Возможные значения: 1,2,3,4 - модели, 5 - по умолчанию, автовыбор
- pb_skin 5
- # Следующие настройки определяют частоту (в секундах) обновления
- # некоторых событий в алгоритме работы ботов. Если у вас медленный
- # комп, то вы можете увеличить значения для повышения
- # производительности
- # NOTE: This seriously affects the Bots Perception. If you have a
- # fast computer you might try lowering them to get even better
- # playing results.
- # По умолчанию:
- # pb_timer_sound = 0.5
- # pb_timer_pickup = 0.3
- # pb_timer_grenade = 0.5.
- pb_timer_sound 0.5
- pb_timer_pickup 0.3
- pb_timer_grenade 0.5
- # Установите этот параметр в 0, чтобы запретить ботам рисовать логотип
- pb_spray 1
- # Установите этот параметр в 1, чтобы боты могли ранить своих
- pb_ffa 0
- # Через этот параметр можно разрешить ботам стрелять через стены
- # (так же эото параметр задается в файле "botskill.cfg")
- # По умолчанию: 1
- pb_shootthruwalls 1
- # passwordkey - этот параметр нужно задать, чтобы получить доступ к
- # меню ботов. Как в примере ниже, вы должны задать свой
- # собственный пароль, вместо стандартного _pbadminpw:
- # setinfo _pbadminpw "your_password"
- # Вышеуказанная строка должна использоваться в autoexec.cfg
- # на вашем компе, с которого подключаетесь или на сервере:
- # в обоих случаях этот файл должен находиться в корне директорий
- # cstrike/czero.
- pb_passwordkey "_pbadminpw"
- # Через эту переменную указывается пароль для доступа к меню
- # управления ботами.
- pb_password "your_password"
- # Здесь указывается максимальное количество ботов, которые будут
- # следовать за игроков при подаче команды "Follow Me" через радио.
- # По умолчанию: 5
- pb_numfollowuser 5
- # Минимально возможный уровень мастерства при добавления бота
- # без указания этого параметра.
- # По умолчанию: 95
- pb_minbotskill 95
- # Максимально возможный уровень мастерства при добавления бота
- # без указания этого параметра.
- # По умолчанию: 100
- pb_maxbotskill 100
- # Здесь указывается максимально возможное количество оружия,
- # которое бот может поднять за раунд.
- # По умолчанию: 10.
- pb_maxweaponpickup 10
- # Задержка, по истечению которой боты начнут добавляться на новую
- # карту.
- # По умолчанию: 10.
- pb_mapstartbotdelay 10
- # Установите этот параметр в 1, чтобы автоматически убивать ботов,
- # если не осталось ниодного живого человека.
- # По умолчанию: 0.
- pb_autokill 0
- # Задержка, по истечению которой боты будут автоматом прибиты,
- # если включена предыдущая опция.
- # По умолчанию: 45.
- pb_autokilldelay 45
- # Укажите здесь максимально количество времени секундах, которое
- # бот может находиться на одном месте.
- # По умолчанию: 30.
- pb_maxcamptime 30
- # Включить/Выключить режим Джэйсона. Это значит, что боты не будут
- # покупать оружие и будут драться только на ножах.
- # По умолчанию: 0.
- pb_jasonmode 0
- # Здесь настраивается формат имени бота:
- # 0 - не показывать уровень мастерства и префикс [POD] в имени бота;
- # 1 - показывать уровень мастерсва и префикс [POD] в имени бота;
- # 2 - показывать только префикс [POD] в имени бота;
- # 3 - показывать только уровень мастерства в имени бота.;
- # Префикс бота с агрессивной тактикой будет выглядеть так - [P*D],
- # с нормальной - [POD], а с защитной - [P0D] (просто ноль, вместо символа O).
- # По умолчанию: 1.
- pb_detailnames 1
- # С помощью следующего параметра можно задать фактор опасности, учитывая
- # который боты будут выбирать свой маршрут (проще говоря - они будут учитывать
- # места, в которых они были убиты в предыдущем раунде). Высокие значения
- # параметра будут значить, что боты будут лучше выбирать свой путь следования
- # к какому-либо месту на карте (ну типа будут выбирать более безопасные пути).
- # Учтите только, что из-за высоких значений параметра нагрузка на проц возрастет.
- # По умолчанию: 2000
- pb_dangerfactor 2000
- # Разрешить ботам чатиться.
- # По умолчанию 1.
- pb_chat 1
- # Установите этот параметр в 1, чтобы в таблице результатов в колонке ping
- # отображалась строка "BOT". Если укажите 2, то будет отображен случайный
- # пинг. Если 0, то ничего не будет отображено.
- # По умолчанию: 2
- pb_latencybot 2
- # Включите, чтобы боты использовали радиокоманды.
- # По умолчанию: 1
- pb_radio 1
- # pb_aim_type 1-4 (по умолчанию 4)
- # 1 = inhuman turns
- # 2 = constant angle velocity
- # 3 = botaim1
- # 4 = botaim2
- pb_aim_type 4
- # VERTICAL (up/down) spring stiffness of the aiming system. This value affects
- # the quickness of the crosshair movement, as well as the frequency of
- # the resulting oscillations. (default: 13.0)
- pb_aim_spring_stiffness_x 13.0
- # HORIZONTAL (left/right) spring stiffness of the aiming system. This value
- # affects the quickness of the crosshair movement, as well as the frequency of
- # the resulting oscillations. (default: 13.0)
- pb_aim_spring_stiffness_y 13.0
- # VERTICAL (up/down) damping coefficient of the aiming system. This value also
- # affects the quickness of the crosshair movement, and the amplitude of
- # the resulting oscillations. (default: 0.22)
- pb_aim_damper_coefficient_x 0.22
- # HORIZONTAL (left/right) damping coefficient of the aiming system. This value
- # also affects the quickness of the crosshair movement, and the amplitude of
- # the resulting oscillations. (default: 0.22)
- pb_aim_damper_coefficient_y 0.22
- # VERTICAL (up/down) error margin of the aiming system. This value affects how
- # far (in game length units) the bot will allow its crosshair to derivate from
- # the ideal direction when not targeting any player in particular.
- # (default: 2.0)
- pb_aim_deviation_x 2.0
- # HORIZONTAL (left/right) error margin of the aiming system. This value affects
- # how far (in game length units) the bot will allow its crosshair to derivate
- # from the ideal direction when not targeting any player in particular.
- # (default: 1.0)
- pb_aim_deviation_y 1.0
- # Perpendicular influence of the vertical axis on a HORIZONTAL movement. This
- # value affects how much (in fraction of 1) the bot will be disturbed when
- # moving its crosshair on an axis by the inherent movement on the other axis.
- # (default: 0.25)
- pb_aim_influence_x_on_y 0.25
- # Perpendicular influence of the horizontal axis on a VERTICAL movement. This
- # value affects how much (in fraction of 1) the bot will be disturbed when
- # moving its crosshair on an axis by the inherent movement on the other axis.
- # (default: 0.17)
- pb_aim_influence_y_on_x 0.17
- # Maximal value in seconds after which the aiming system will re-evaluate its
- # ideal direction. This affects how often a bot will attempt to correct an
- # imprecise crosshair placement by moving the crosshair inside the error
- # margin bounds defined by the botaim_deviation CVARs. (default: 1.2)
- pb_aim_offset_delay 1.2
- # Fraction of the full speed the aiming system will adopt as speed when aiming
- # at nothing in particular. This affects how slow the bot will move its
- # crosshair when targeting nobody, relatively to its full speed capacity.
- # (default: 0.5)
- pb_aim_notarget_slowdown_ratio 0.5
- # Fraction of the estimated target's velocity the aiming system will rely on
- # when aiming at a moving target. This affects how well the bot will be able
- # to track moving targets on the fly, and whether it will have a tendancy
- # to aim ahead of it or behind it. (default: 2.2)
- pb_aim_target_anticipation_ratio 2.2
- # Здесь можно задать, какое оружие будет запрещено для покупки ботам.
- # В списке указаны номера битов, которые отвечают за нужное ограничение.
- # Пистолеты
- # 0 - KNIFE
- # 1 - USP
- # 2 - GLOCK18
- # 3 - DEAGLE
- # 4 - P228
- # 5 - ELITE
- # 6 - FIVESEVEN
- # Дробовики
- # 7 - M3
- # 8 - XM1014
- # SMG
- # 9 - MP5NAVY
- # 10 - TMP
- # 11 - P90
- # 12 - MAC10
- # 13 - UMP45
- # Винтовки
- # 14 - AK47
- # 15 - SG552
- # 16 - M4A1
- # 17 - GALIL
- # 18 - FAMAS
- # 19 - AUG
- # 20 - SCOUT
- # 21 - AWP
- # 22 - G3SG1
- # 23 - SG550
- # Пулемет
- # 24 - M249
- # Щит
- # 25 - SHIELD
- pb_restrweapons "00000000000000000000000000"
- # 0 - vest
- # 1 - vest and helmet
- # 2 - flashbang
- # 3 - he grenade
- # 4 - smoke grenade
- # 5 - defuser
- # 6 - night vision googles
- # 7 - primary ammo
- # 8 - secondary ammo
- pb_restrequipammo "000000000"
- # Следующие строки автоматически добавляют ботов на сервер,
- # при создании новой игры.
- pb add 100
- pb add 100
- pb add 100
- pb add 100
- pb add 100
- pb add 100
- pb add 100
- # Как альтернативный вариант - можно раскомментировать этот параметр,
- # чтобы автоматом заполнить все доступные места на сервере.
- # pb fillserver 100
- # Следующий параметр задает клавишу, при нажатии которой будет
- # отображено меню управления ботами
- bind "=" "pb menu"
- linux addons/podbot/podbot_mm_i386.so
- // Используйте этот файл, чтобы настроить ваш сервер.
- // Этот файл читается при запуске сервера.
- log on // вести лог сервера
- sv_logsdir "logs" // Директория относительно директории "cstrike", в которой будут сохраняться лог файлы
- sv_logbans 1 // записывать в лог баны
- sv_logecho 1 // показывать информацию из логов сервера в консоль(сервера)
- sv_logfile 1 // записывать логи сервера в файлы
- sv_log_onefile 0 // ... в один файл
- mp_logmessages 1 // писать в лог чат игроков для последующих разборок
- mp_logdetail 3 // записывать в лог повреждения от: 0 - выключено; 1 - противников; 2 - своих; 3 - и от противников и от своих.
- writeid // записываем SteamID игроков
- writeip // записываем IP игроков
- // Имя сервера
- hostname "Counter-Strike 1.6 Server"
- maxplayers 32
- mapcyclefile "mapcycle.txt" // Файл со списком карт для автоматической смены карты по окончанию mp_timelimit или кол-ва побед/раундов.
- motdfile "motd.txt" // имя файла, отображающее текст в окне перед тем, как выбрать команду
- hpk_maxsize 16 // Максимальный размер файла custom.hpk (максимальный размер суммы всех игровых логотипов на сервере, в мегабайтах)
- // команды управления поведением игрока на карте
- mp_allowNPCs 1 // разрешить NPC на сервере
- mp_allowspectators 1 // разрешить игрокам после смерти наблюдать за чужими игроками
- mp_autocrosshair 0 // разрешить автоприцеливание
- mp_autokick 0 // разрешить автокик за убийство игроков своей команды?
- mp_autoteambalance 1 // разрешить автоматическую балансировку команд
- mp_buytime 0.5 // время покупки в минутах
- mp_c4timer 35 // время таймера бомбы
- mp_chattime 10 // время, в течении которого игроки смогут разговаривать между собой после окончания текущей карты
- mp_decals 200 // Колличество разрешённых декалей (спреи, пятна крови, пулевые отверстия)
- mp_fadetoblack 0 // после смерти экран становится чёрным, не давая игроку смотреть за другими игроками в режиме спектатора
- mp_falldamage 1 // урон от падения
- mp_flashlight 1 // разрешить фонарик
- mp_forcecamera 1 // разрешить переключения камер в режиме спектатора
- mp_forcechasecam 1 // после смерти игрок может следить только за своей командой
- mp_fraglimit 0 // максимальное колличество фрагов, при достижении которого определённым игроком карта сменится на следующую
- mp_freezetime 2 // начальный отсчёт времени в начале каждого раунда(для покупки), в секундах
- mp_footsteps 1 // слышимость звуков шагов
- mp_friendlyfire 0 // возможность атаковать своих
- mp_hostagepenalty 0 // кикает террориста при убийстве заданного лимита заложников
- mp_limitteams 1 // максимальное количество превышения игроков одной команды над другой (от 1 и до бесконечности )
- mp_mapvoteratio 0.51 // для смены карты нужно 51% голосов
- mp_maxrounds 0 // максимальное количество раундов, при достижении которого игра на карте будет считаться законченной
- mp_playerid 1 // контролирует информацию которую игрок видет на панели статуса: 0 все имена; 1 только имена игроков своей команды; 2 без имён
- mp_spawnprotectiontime 10 // кикает игроков которые убивают членов своей команды в течении # секунд после перезапуска раунда
- mp_roundtime 3 // длина раунда в минутах
- mp_startmoney 800 // колличество начальных денег у игроков
- mp_timelimit 20 // ограничение по времени на карту, в минутах
- mp_tkpunish 0 // в следующем раунде убить того, кто убил игрока своей команды
- mp_winlimit 32 // количество выигрышей одной команды при достижении которого игра на карте считается законченной
- // ================================================================
- // Server config
- // ================================================================
- sv_aim 0 // отключить автоприцеливание
- sv_airaccelerate 10 // определяет ускорение игрока, когда он находится в воздухе(например падает)
- sv_allowdownload 1 // разрешить загрузку с сервера(например карт)
- sv_allowupload 1 // разрешить закачку файлов (например decals, спрей-логи, карты) на сервер
- sv_cheats 0 // разрешить игровые читы на сервере (пример: noclip)
- sv_consistency 1 // предписывает ли сервер последовательность файла для критических файлов
- sv_contact "admin@info-x.org" // e-mail администратора сервера
- sv_enableoldqueries 0 // разрешить поддержку старого стиля (Half-life 1) серверных запросов
- sv_footsteps 1 // использовать звук шагов при передвижении игрока
- sv_friction 4 // коэффициент трения в игре
- sv_gravity 800 // гравитация в игре
- sv_language 0 // Устанавливает язык
- sv_maxspectators 8 // Максимальное количество наблюдателей
- sv_maxspeed 320 // максимальная скорость игрока
- sv_minupdaterate 10 // минимальное колличество обновлений(колличество пакетов) которое разрешено на сервере
- sv_pausable 0 // разрешить ставить паузу во время игры
- //sv_password 0 // Пароль для входа на сервер
- sv_rcon_banpenalty 15 // колличество минут на которое банится игрок пытавшийся подобрать rcon-пароль к серверу
- sv_rcon_maxfailures 5 // максимальное колличество попыток при наборе rcon-пароля, после истечения которых игрок будет забанен
- sv_rcon_minfailures 5 // колличество попыток при наборе rcon-пароля во время заданное sv_rcon_minfailuretime, после истечения которых игрок будет забанен
- sv_rcon_minfailuretime 30 // колличество секунд для определения неверной rcon-аутенфикации
- sv_specaccelerate 5 // ускорение при передвижения в режиме spectator
- sv_specnoclip 1 // игрок в режиме spectator может пролетать через стены и объекты
- sv_specspeed 3 // скорость передвижения в режиме spectator
- sv_spectalk 1 // участие спектаторов в общем чате
- sv_stats 1 // собирать статистику использования процессора
- sv_stepsize 18 // длинна шага в юнитах
- sv_stopspeed 75 // минимальная скорость остановки на поверхности
- sv_timeout 30 // если сервер не получает отклика от клиента в течении # секунд, клиент отключается от сервера
- // Голосовые настройки
- sv_voicecodec "voice_speex" // Кодек для общения через микрофон
- sv_voiceenable 1 // Разрешить использование микрофона (1/0=Вкл/Выкл).
- sv_voicequality 5 // качество голоса, от 1 до 5, чем больше, тем лучше, по умолчанию 3
- sv_alltalk 0 // разрешить всем слышать переговоры друг друга по микрофону, вне зависимости от команды (даже мертвые)
- // =======================================================================
- // сервер для локальной сети
- sv_lan 1
- insecure
- nomaster
- // load ban files
- exec listip.cfg
- exec banned.cfg
- // первая карта
- map de_aztec
- #!/bin/sh
- HL_DIR="/home/steam/cs16"
- HL_RUN="hlds_run"
- HL_BIN="hlds_i686"
- HL_PID="$HL_DIR/hlds.pid"
- HL_LOG="$HL_DIR/hlds_console.log"
- #PATH="$PATH:$HL_DIR"; export PATH
- cd "$HL_DIR"
- case "$1" in
- start)
- if [ -f "$HL_PID" ]; then
- echo "Counter-Strike already running"
- exit 1
- fi
- #$HL_DIR/$HL_RUN -game cstrike -pidfile "$HL_PID" -norestart > "$HL_LOG" 2>&1 &
- $HL_DIR/$HL_RUN -binary "$HL_DIR/$HL_BIN" -game cstrike -pidfile "$HL_PID" -norestart > "$HL_LOG" 2>&1 &
- sleep 3
- if [ -f "$HL_PID" ]; then
- echo "Server started..."
- fi
- ;;
- stop)
- if [ ! -f "$HL_PID" ]; then
- echo "Counter-Strike not running"
- exit 1
- fi
- kill `cat "$HL_PID"`
- rm -f "$HL_PID"
- ;;
- restart)
- if [ -f "$HL_PID" ]; then
- kill `cat "$HL_PID"`
- rm -f "$HL_PID"
- echo "Server stopped..."
- else
- echo "Server not running..."
- fi
- sleep 3
- $HL_DIR/$HL_RUN -binary "$HL_DIR/$HL_BIN" -game cstrike -pidfile "$HL_PID" -norestart > "$HL_LOG" 2>&1 &
- sleep 3
- if [ -f "$HL_PID" ]; then
- echo "Server started..."
- else
- echo "Server error..."
- fi
- ;;
- *)
- echo "hlds {start|stop|restart}"
- ;;
- esac
- exit 0
- %./hlds.sh start
- Server started...
- % sockstat -4 -l | grep hlds
- steam hlds_i686 39502 4 udp4 *:27015 *:*
- steam hlds_i686 39502 10 udp4 192.168.7.250:26900 *:*
- steam hlds_i686 39497 4 udp4 *:27015 *:*
- steam hlds_i686 39497 10 udp4 192.168.7.250:26900 *:*
Обсуждение статьи