Создание выделенных серверов на движке Source

Есть и такой ОС.

Модератор: weec

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Dimanok
рядовой
Сообщения: 24
Зарегистрирован: 2010-04-26 12:24:12
Откуда: Саратов
Контактная информация:

Создание выделенных серверов на движке Source

Непрочитанное сообщение Dimanok » 2011-08-28 13:17:54

В начале, как всегда, небольшое пояснение по статье в целом. Создание серверов как на движке GoldSource так и на движке Source по сути одно и тоже, нет смысла писать одно и тоже для каждой игры, поэтому ограничимся двумя статьями. Ну что, начнём с Source.

Создание каких серверов мы опишем:
  • Counter-Strike: Source
  • Day of Defeat: Source
  • Team Fortress 2
  • Left 4 Dead
  • Left 4 Dead 2
  • Half-Life 2: Deathmatch
  1. Создаем каталог для файлов сервера, назовём SRCDS

    Код: Выделить всё

    mkdir SRCDS
    Переходим в него

    Код: Выделить всё

    cd SRCDS
  2. Скачиваем hldsupdatetool c официального сервера Steam.

    Код: Выделить всё

    wget "http://www.steampowered.com/download/hldsupdatetool.bin"
    Даём права на выполнение

    Код: Выделить всё

    chmod +x hldsupdatetool.bin
    Запускаем hldsupdatetool

    Код: Выделить всё

    ./hldsupdatetool.bin
    После выполнения этой команды у вас может появиться ошибка

    Код: Выделить всё

    sh: uncompress: command not found
    tar: This does not look like a tar archive
    tar: Error exit delayed from previous errors
    Решается она просто

    Код: Выделить всё

    ln -s /usr/bin/gunzip /usr/bin/uncompress
  3. Запускаем Steam для обновления файлов. Загружаем файлы игры. Выполняем команду ниже, и меняем значение -dir на своё.
    • Counter-Strike: Source

      Код: Выделить всё

      ./steam -command update -game "Counter-Strike Source" -dir /home/servers/SRCDS/
    • Day of Defeat: Source

      Код: Выделить всё

      ./steam -command update -game "dods" -dir /home/servers/SRCDS/
    • Left 4 Dead 2

      Код: Выделить всё

      ./steam -command update -game "left4dead2" -dir /home/servers/SRCDS/
    • Half-Life 2: DeathMatch

      Код: Выделить всё

      ./steam -command update -game "hl2mp" -dir /home/servers/SRCDS/
  4. Запускаем сервер.

    Напишем для удобства скрипт запуска сервера в фоновом режиме:
    • Counter-Strike: Source

      Код: Выделить всё

      #!/bin/sh
      echo "Starting Counter-Strike: Source server"
      sleep 1
      screen -A -m -d -S server_css ./srcds_run -console -game cstrike +map de_dust2 +maxplayers 16
    • Day of Defeat: Source

      Код: Выделить всё

      #!/bin/sh
      echo "Starting Day of Defeat: Source server"
      sleep 1
      screen -A -m -d -S server_dods ./srcds_run -console -game dod +map dod_salerno +maxplayers 16
    • Team Fortress 2

      Код: Выделить всё

      #!/bin/sh
      echo "Starting Team Fortress 2 server"
      sleep 1
      screen -A -m -d -S server_tf2 ./srcds_run -console -game tf +map ctf_2fort +maxplayers 16
    • Left 4 Dead

      Код: Выделить всё

      #!/bin/sh
      echo "Starting Left 4 Dead server"
      sleep 1
      screen -A -m -d -S server_l4d ./srcds_run -console -game left4dead +map l4d_vs_hospital01_apartment  +maxplayers 8
    • Left 4 Dead 2

      Код: Выделить всё

      #!/bin/sh
      echo "Starting Left 4 Dead 2 server"
      sleep 1
      screen -A -m -d -S server_l4d2 ./srcds_run -console -game left4dead2 +map "c1m1_hotel versus"  +maxplayers 8
    • Half-Life 2: DeathMatch

      Код: Выделить всё

      #!/bin/sh
      echo "Starting Half-Life 2: DeathMatch server"
      sleep 1
      screen -A -m -d -S server_hl2dm ./srcds_run -console -game hl2mp +map "dm_overwatch"  +maxplayers 16
    Назовём скрипт start.sh и дадим ему права на выполнение:

    Код: Выделить всё

    chmod +x start.sh
  5. Запускаем

    Код: Выделить всё

    ./server.sh
    Всё! Ваш сервер запущен. Для входа в фоновый режим, выполните команду
При полном или частичном копировании статьи активная ссылка на первоисточник Strike64.ru обязательна.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35418
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Создание выделенных серверов на движке Source

Непрочитанное сообщение Alex Keda » 2012-02-13 21:41:53

ужоснах.
линукс-вей - облепи систему симлинками до полного просветления =))
Убей их всех! Бог потом рассортирует...

Аватара пользователя
ADRE
майор
Сообщения: 2641
Зарегистрирован: 2007-07-26 8:53:49
Контактная информация:

Re: Создание выделенных серверов на движке Source

Непрочитанное сообщение ADRE » 2012-02-16 20:08:10

а эти сраные античиты и прочие говно, как зелепить?
//del

Аватара пользователя
Dimanok
рядовой
Сообщения: 24
Зарегистрирован: 2010-04-26 12:24:12
Откуда: Саратов
Контактная информация:

Re: Создание выделенных серверов на движке Source

Непрочитанное сообщение Dimanok » 2012-02-16 22:22:23

ADRE писал(а):а эти сраные античиты и прочие говно, как зелепить?
Здравствуйте. Имеется ввиду сервера часть античита или клиентская ?

Аватара пользователя
ADRE
майор
Сообщения: 2641
Зарегистрирован: 2007-07-26 8:53:49
Контактная информация:

Re: Создание выделенных серверов на движке Source

Непрочитанное сообщение ADRE » 2012-02-17 5:13:27

Dimanok писал(а):
ADRE писал(а):а эти сраные античиты и прочие говно, как зелепить?
Здравствуйте. Имеется ввиду сервера часть античита или клиентская ?
сервера часть античита
//del

Аватара пользователя
ADRE
майор
Сообщения: 2641
Зарегистрирован: 2007-07-26 8:53:49
Контактная информация:

Re: Создание выделенных серверов на движке Source

Непрочитанное сообщение ADRE » 2012-02-17 5:16:23

а такой достойный ресурс, только свалено всё в кучу =(
//del

Аватара пользователя
Dimanok
рядовой
Сообщения: 24
Зарегистрирован: 2010-04-26 12:24:12
Откуда: Саратов
Контактная информация:

Re: Создание выделенных серверов на движке Source

Непрочитанное сообщение Dimanok » 2012-02-17 16:06:15

На данный момент самый достойный античит из бесплатных - UCP.
Необходимо скачать серверную часть антчита.
Установка описана на официальном сайте, для всех ОСей одинакова. Будут проблемы - пишите помогу.

Аватара пользователя
Dimanok
рядовой
Сообщения: 24
Зарегистрирован: 2010-04-26 12:24:12
Откуда: Саратов
Контактная информация:

Re: Создание выделенных серверов на движке Source

Непрочитанное сообщение Dimanok » 2012-02-17 21:58:40

ADRE писал(а):а такой достойный ресурс, только свалено всё в кучу =(
Речь идет о моем ресурсе ? Мы старались и так максимально раскидать все по полочкам, :pardon: если есть предложения по улучшению структуры разделов, с удовольствием выслушаю и приму во внимание.

Spics
рядовой
Сообщения: 44
Зарегистрирован: 2010-11-27 22:35:18

Re: Создание выделенных серверов на движке Source

Непрочитанное сообщение Spics » 2012-08-06 0:04:23

Ребята, проблема осела мертвым грузом....
Не могу решить уже почти 3 месяца:
Сервер на FREEBSD в качестве роутера в локалке адрес: 192.186.1.199
Комп под Виндой ХР в качестве серва КСС в локалке адрес: 192.186.1.221
Сервер стартует с помощью батника на винде:

Код: Выделить всё

@echo off 
cls 
:loop 
echo (Ъte% %time%) Starting SRCDS 
start /wait/high srcds.exe -console -game cstrike -insecure +maxplayers 20 +map de_dust2 +fps_max 0 -tickrate 66 -port 27015 +sv_lan 0 
echo (Ъte% %time%) Restarting SRCDS 
echo (%date% %time%) WARNING: srcds closed or crashed, restarting. 
goto loop
Вот конфиг IPFW:

Код: Выделить всё

#!/bin/sh

fwcmd="/sbin/ipfw -q -f "
${fwcmd} flush
${fwcmd} pipe flush
${fwcmd} queue flush
${fwcmd} table 1 flush

#####################################################

${fwcmd} add 100 allow ip from any to any via lo0
${fwcmd} add 101 deny ip from 127.0.0.0/8 to any
${fwcmd} add 102 deny ip from any to 127.0.0.0/8
${fwcmd} add 103 allow tcp from any to any ssh
${fwcmd} add 104 allow tcp from any ssh to any

${fwcmd} add 500 skipto 1000 ip from any to any via ste1
${fwcmd} add 501 skipto 2000 ip from any to any via ste0

${fwcmd} add 999 skipto 65534 ip from any to any

#####################################################

#${fwcmd} add 1000 allow ip from me to any out
#${fwcmd} add 1050 allow tcp from any to any ssh
${fwcmd} add 1100 allow tcp from any ssh to any


${fwcmd} table 1 add 192.186.1.221
${fwcmd} table 1 add 192.186.1.240


${fwcmd} pipe 1 config bw 6Mbit/s mask src-ip 0xffffffff
${fwcmd} pipe 2 config bw 6Mbit/s mask dst-ip 0xffffffff
${fwcmd} add 1500 pipe 1 ip from not table\(1\) to any in
${fwcmd} add 1501 pipe 2 ip from any to not table\(1\) out

${fwcmd} add 1502 allow ip from table\(1\) to any in
${fwcmd} add 1503 allow ip from any to table\(1\) out

${fwcmd} add 1999 skipto 65534 ip from any to any

#####################################################

${fwcmd} nat 1 config log if ste0 reset same_ports redirect_port tcp 192.186.1.221:27015 27015 redirect_port udp 192.186.1.221:27015 27015

${fwcmd} add 2000 nat 1 ip from any to any

${fwcmd} add 2999 skipto 65534 ip from any to any

#####################################################

${fwcmd} add 65534 deny log ip from any to any
ipfw show

Код: Выделить всё

00100     0        0 allow ip from any to any via lo0
00101     0        0 deny ip from 127.0.0.0/8 to any
00102     0        0 deny ip from any to 127.0.0.0/8
00103   329    27176 allow tcp from any to any dst-port 22
00104   281    37108 allow tcp from any 22 to any
00500 32442 28165464 skipto 1000 ip from any to any via ste1
00501 35008 28309999 skipto 2000 ip from any to any via ste0
00999     0        0 skipto 65534 ip from any to any
01100     0        0 allow tcp from any 22 to any
01500 13552   843640 pipe 1 ip from not table(1) to any in
01501 18884 27321168 pipe 2 ip from any to not table(1) out
01502     2      464 allow ip from table(1) to any in
01503     4      192 allow ip from any to table(1) out
01999     0        0 skipto 65534 ip from any to any
02000 35008 28309999 nat 1 ip from any to any
02999     0        0 skipto 65534 ip from any to any
65534     0        0 deny log logamount 100 ip from any to any
65535    18     1515 allow ip from any to any
Поставил Rinetd вот конфиг:

Код: Выделить всё

37.205.*.* 27015 192.186.1.221 27015
Как поняли 37.205.*.* это внешний IP
IP статический...
Суть такова:
На сервак не могу зайти с инета. :st: :st: :st: :st: :st: :st: :bn: :bn: :bn: :bn: :bad: :bad: :bad: :bad:

Spics
рядовой
Сообщения: 44
Зарегистрирован: 2010-11-27 22:35:18

Re: Создание выделенных серверов на движке Source

Непрочитанное сообщение Spics » 2012-08-07 9:36:03

Ребят ну сильно поигратцо охото, скажите где косяк?

Spics
рядовой
Сообщения: 44
Зарегистрирован: 2010-11-27 22:35:18

Re: Создание выделенных серверов на движке Source

Непрочитанное сообщение Spics » 2012-08-07 17:32:31

Народ, я пробиваю порты из интернета, и мне упорно отвечают что порты мол открыты... 27015 27005 27020
В чем проблема?

Spics
рядовой
Сообщения: 44
Зарегистрирован: 2010-11-27 22:35:18

Re: Создание выделенных серверов на движке Source

Непрочитанное сообщение Spics » 2012-08-07 18:33:37

Только что в 3 раз переставил сервер, теперь выдает при старте:

Код: Выделить всё

 66.9 fps  0/16 on map          de_dust
 Console initialized.
 Game.dll loaded for "Counter-Strike: Source"
 maxplayers set to 16
 No '-replayserverdir' parameter found - using default replay folder.
 Replay: Creating thread pool...succeeded.
 Replay: Starting thread pool with 4 threads...succeeded.
 Cleaning files from temp dir, "D:\CSS\css\cstrike\replay\server\tmp\" ...no file
 s removed.
 Unknown command "r_decal_cullsize"
 maxplayers set to 16
 Network: IP 192.186.1.221, mode MP, dedicated Yes, ports 27015 SV / 27005 CL
 Executing dedicated server config file server.cfg
 Initializing Steam libraries for secure Internet server
 *********************************************************
 *********************************************************
 *       Unable to load Steam support library.*
 *       Unable to load Steam support library.*
 *       This server will operate in LAN mode only.*
 *       This server will operate in LAN mode only.*
 *********************************************************
 *********************************************************
 vercion
 Unknown command "vercion"
 version
 Protocol version 22
 Exe version 1.0.0.72 (cstrike)
 Exe build: 18:27:57 Jun 27 2012 (4981) (215)

Spics
рядовой
Сообщения: 44
Зарегистрирован: 2010-11-27 22:35:18

Re: Создание выделенных серверов на движке Source

Непрочитанное сообщение Spics » 2012-08-07 20:14:30

эх грусть....

Spics
рядовой
Сообщения: 44
Зарегистрирован: 2010-11-27 22:35:18

Re: Создание выделенных серверов на движке Source

Непрочитанное сообщение Spics » 2012-08-11 21:42:18

Я по новой поставил Сервак соурса, теперь он выдает мне что определил мой внешний IP, порты я открыл через Nat потому как rinetd, как выяснилось в процессе курения мануалов, UDP трафик не пракидывает. Итак в чем же теперь проблема? Почему мой фаервол не хочет пускать клиентов где грабли?

Spics
рядовой
Сообщения: 44
Зарегистрирован: 2010-11-27 22:35:18

Re: Создание выделенных серверов на движке Source

Непрочитанное сообщение Spics » 2012-08-13 19:41:53

ребят? Ну хоть кость то киньте?

Spics
рядовой
Сообщения: 44
Зарегистрирован: 2010-11-27 22:35:18

Re: Создание выделенных серверов на движке Source

Непрочитанное сообщение Spics » 2012-08-13 19:44:18

Код: Выделить всё

66.9 fps  0/24 on map         de_dust2
Console initialized.
Game.dll loaded for "Counter-Strike: Source"
maxplayers set to 24
No '-replayserverdir' parameter found - using default replay folder.
Replay: Creating thread pool...succeeded.
Replay: Starting thread pool with 4 threads...succeeded.
Cleaning files from temp dir, "D:\CSS\css\cstrike\replay\server\tmp\" ...no file
s removed.
Unknown command "r_decal_cullsize"
maxplayers set to 24
Network: IP 192.186.1.221, mode MP, dedicated Yes, ports 27015 SV / 27005 CL
Executing dedicated server config file server.cfg
Initializing Steam libraries for secure Internet server
Server logging enabled.
Server logging data to file logs\L0813000.log
L 08/13/2012 - 20:32:38: Log file started (file "logs\L0813000.log") (game "D:\C
SS\css\cstrike") (version "4981")
L 08/13/2012 - 20:32:38: server_cvar: "mp_autocrosshair" "0"
L 08/13/2012 - 20:32:38: server_cvar: "mp_c4timer" "35"
L 08/13/2012 - 20:32:38: server_cvar: "mp_falldamage" "1"
L 08/13/2012 - 20:32:38: server_cvar: "mp_flashlight" "1"
L 08/13/2012 - 20:32:38: server_cvar: "mp_freezetime" "5"
L 08/13/2012 - 20:32:38: server_cvar: "mp_friendlyfire" "1"
L 08/13/2012 - 20:32:38: server_cvar: "sv_tags" "friendlyfire"
L 08/13/2012 - 20:32:38: server_cvar: "sv_tags" "friendlyfire"
L 08/13/2012 - 20:32:38: server_cvar: "mp_hostagepenalty" "0"
L 08/13/2012 - 20:32:38: server_cvar: "mp_limitteams" "1"
L 08/13/2012 - 20:32:38: server_cvar: "mp_roundtime" "3"
L 08/13/2012 - 20:32:38: server_cvar: "mp_timelimit" "30"
'banned_ip.cfg' not present; not executing.
'banned_user.cfg' not present; not executing.
Writing cfg/banned_user.cfg.
Writing cfg/banned_ip.cfg.
L 08/13/2012 - 20:32:38: World triggered "Round_Start"
Connection to Steam servers successful.
   Public IP is 0.0.0.0.
Assigned anonymous gameserver Steam ID [A-1:1234(1)].
VAC secure mode is activated.

Аватара пользователя
MASiK
лейтенант
Сообщения: 625
Зарегистрирован: 2008-09-19 20:09:41
Откуда: Оттуда
Контактная информация:

Re: Создание выделенных серверов на движке Source

Непрочитанное сообщение MASiK » 2012-08-14 12:28:31

о май год... rinetd а что ipfw-nat не устраивает?... и вообще я не фига не понял кто и где стоит, какой внешний то ip?
Самурай