Страница 1 из 1

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

Добавлено: 2011-08-28 13:17:54
Dimanok
В начале, как всегда, небольшое пояснение по статье в целом. Создание серверов как на движке 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 обязательна.

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

Добавлено: 2012-02-13 21:41:53
Alex Keda
ужоснах.
линукс-вей - облепи систему симлинками до полного просветления =))

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

Добавлено: 2012-02-16 20:08:10
ADRE
а эти сраные античиты и прочие говно, как зелепить?

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

Добавлено: 2012-02-16 22:22:23
Dimanok
ADRE писал(а):а эти сраные античиты и прочие говно, как зелепить?
Здравствуйте. Имеется ввиду сервера часть античита или клиентская ?

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

Добавлено: 2012-02-17 5:13:27
ADRE
Dimanok писал(а):
ADRE писал(а):а эти сраные античиты и прочие говно, как зелепить?
Здравствуйте. Имеется ввиду сервера часть античита или клиентская ?
сервера часть античита

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

Добавлено: 2012-02-17 5:16:23
ADRE
а такой достойный ресурс, только свалено всё в кучу =(

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

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

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

Добавлено: 2012-02-17 21:58:40
Dimanok
ADRE писал(а):а такой достойный ресурс, только свалено всё в кучу =(
Речь идет о моем ресурсе ? Мы старались и так максимально раскидать все по полочкам, :pardon: если есть предложения по улучшению структуры разделов, с удовольствием выслушаю и приму во внимание.

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

Добавлено: 2012-08-06 0:04:23
Spics
Ребята, проблема осела мертвым грузом....
Не могу решить уже почти 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:

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

Добавлено: 2012-08-07 9:36:03
Spics
Ребят ну сильно поигратцо охото, скажите где косяк?

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

Добавлено: 2012-08-07 17:32:31
Spics
Народ, я пробиваю порты из интернета, и мне упорно отвечают что порты мол открыты... 27015 27005 27020
В чем проблема?

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

Добавлено: 2012-08-07 18:33:37
Spics
Только что в 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)

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

Добавлено: 2012-08-07 20:14:30
Spics
эх грусть....

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

Добавлено: 2012-08-11 21:42:18
Spics
Я по новой поставил Сервак соурса, теперь он выдает мне что определил мой внешний IP, порты я открыл через Nat потому как rinetd, как выяснилось в процессе курения мануалов, UDP трафик не пракидывает. Итак в чем же теперь проблема? Почему мой фаервол не хочет пускать клиентов где грабли?

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

Добавлено: 2012-08-13 19:41:53
Spics
ребят? Ну хоть кость то киньте?

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

Добавлено: 2012-08-13 19:44:18
Spics

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

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.

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

Добавлено: 2012-08-14 12:28:31
MASiK
о май год... rinetd а что ipfw-nat не устраивает?... и вообще я не фига не понял кто и где стоит, какой внешний то ip?