Статья: Counter-strike Source сервер на FreeBSD 7.1

Раздел посвящён игровым серверам и игрушкам вообще.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
>>Андрей
проходил мимо

Re: Статья: Counter-strike Source сервер на FreeBSD 7.1

Непрочитанное сообщение >>Андрей » 2010-08-08 13:54:20

Люди объясните плиз это инструкция по контре соурс или 1.6.Просто я заметил скриншот с 1.6

Хостинговая компания 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/

Аватара пользователя
criminalist
мл. сержант
Сообщения: 74
Зарегистрирован: 2010-02-01 19:56:15

Re: Статья: Counter-strike Source сервер на FreeBSD 7.1

Непрочитанное сообщение criminalist » 2010-12-03 11:25:58

а что название темы ни о чем не говорит ? Статья: Counter-strike Source сервер на FreeBSD 7.1

Вопрос может кто нибудь под freebsd скриптки подретактировать ?))

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

#!/bin/bash

### BEGIN INIT INFO
# Provides:          srcds
# Required-Start:    $syslog $local_fs $network
# Required-Stop:     $syslog $local_fs $network
# Should-Start:      $remote_fs $named
# Should-Stop:       $remote_fs $named
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start srcds Server
# Description:       srcds Start Script
# 
# author: LeXiKoN http://eqline.ru
# version: 0.92
#
### END INIT INFO

# Source function library.
. /lib/lsb/init-functions

VERSION=0.92

#####################################################
# Конфигурирование
#####################################################

SERVER_NAME="Exeplay.ru" #Название сервера
screen_name=server #Название screen-сессии
path="/home/server/warmod/orangebox"  #Путь до ROOT-директории сервера
srcds_ip=81.161.212.99  #IP сервера
srcds_port=27017  #Порт сервера
srcds_gametype=cstrike  #Тип игры
srcds_players=20  #Максимальное количество игроков на сервере
srcds_map=de_inferno  #Имя первоначальной карты при запуске
srcds_pid=server.pid
screen_pid=$screen_name-screen.pid
srcds_options="+exec server.cfg +log on"  #Дополнительные параметры запуска
use_user=server #Имя юзера от которого запускается сервер
condebug=1
check_version=0
checker_command="quakestat" #Команда пакета qStat отвечающего за проверку сервера 

#----------------------------------------------------
# Номер ядра/процессора в линуксе 
# 2х-ядерные: 0 - первое ядро, 1 - второе ядро
# 4x-ядерные: 0 - первое ядро ... 3 - четвертое ядро
# По аналогии с другими многоядерными процессорами
use_core=0
#----------------------------------------------------

#################	ВНИМАНИЕ	###################
#
# Строчки ниже, если не знаете, лучше не трогать!
#
#################	ВНИМАНИЕ	###################
RETVAL=0

succes="[\033[1;32m ОК \033[0m]"
failed="[\033[1;31m FAIL \033[0m]"
status_on="[\033[1;32m Online \033[0m]"
status_off="[\033[1;31m Offline \033[0m]"
title="\033[1;34m [::]\033[0m"

if [ $condebug = 1 ]; then 
	srcds_options2="-condebug"
fi

# Команда screen
INTR="taskset -c $use_core /usr/bin/screen -A -m -d -S $screen_name"

if [ ! -x $path/srcds_run ]; then
	printf "\033[22;31m Проверьте права на исполнение srcds_run \033[0m\n"
	exit 1
fi

prestart_check() {
	if [ -f $path/$srcds_pid ] && [ -f $path/$screen_pid ]; then
		ch=`ps -ef | grep SCREEN | grep $screen_name`
		if [ -n "$ch" ]; then
			echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			printf "\033[1;34m Сервер $SERVER_NAME\033[0m \033[32m(!!) на данный момент УЖЕ работает (!!)\033[0m\n"
			echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			exit 1
		else 
			cd $path
			rm -rf $path/$screen_pid
			rm -rf $path/$srcds_pid
		fi
	fi
}

start() {
	if [ $check_version = 1 ]; then
		check_version
	fi
	# Проверка престартовая
	prestart_check
	echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	cd $path
	$INTR sudo -u $use_user ./srcds_run -game $srcds_gametype +maxplayers $srcds_players +map $srcds_map +ip $srcds_ip +port $srcds_port $srcds_options $srcds_options2 -pidfile $srcds_pid
	# Поиск и запись пидов процессов сервера и скринв системе
	ps -ef | grep SCREEN | grep "$screen_name" | grep -v grep | awk '{ print $2}' > $path/$screen_pid
	printf "$title\033[1;34m Запуск сервера $SERVER_NAME \033[0m\n"
	printf "\033[1;35m Порт севрера:\033[0m \033[1;36m$srcds_port\033[0m\n"
	printf "\033[1;35m Привязка к ядру:\033[0m \033[1;36m$use_core\033[0m\n"
	printf "\033[1;35m Запуск от юзера:\033[0m \033[1;36m$use_user\033[0m\n"
	printf "\033[1;33m Статус ~> \033[0m"
	sleep 1
	if [ -f $path/$srcds_pid ] && [ -f $path/$screen_pid ]; then
		ch=`ps -ef | grep SCREEN | grep $screen_name`
		if [ -n "$ch" ]; then
			printf "%53s$succes \n"
		else
			printf "%53s$failed \n"
		fi
	fi
	echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
}

stop() {
	if [ $check_version = 1 ]; then
		check_version
	fi
	echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	if [ -f $path/$srcds_pid ] && [ -f $path/$screen_pid ]; then
		# Извлекаем ID процесса из файла и увибаем процессы
		kill `cat $path/$srcds_pid`
		kill `cat $path/$screen_pid`
		sleep 1
		rm -rf $path/$screen_pid
		rm -rf $path/$srcds_pid

		printf "$title\033[1;31m Остановка $SERVER_NAME \033[0m"
		printf "%33s$succes \n"

	else
		printf "\033[1;34m Невозможно остановить $SERVER_NAME, сервер НЕ запущен \033[0m"
		printf "%5s$failed \n"
	fi
	echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
} 

status() {
	if [ $check_version = 1 ]; then
		check_version
	fi
	echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	printf "$title\033[1;34m Статус сервера $SERVER_NAME \033[0m\n"
	printf "\033[1;35m Порт севрера:\033[0m \033[1;36m$srcds_port\033[0m\n"
	printf "\033[1;35m Привязка к ядру:\033[0m \033[1;36m$use_core\033[0m\n"
	printf "\033[1;35m Запуск от юзера:\033[0m \033[1;36m$use_user\033[0m\n"
	printf "\033[1;33m Статус ~> \033[0m"
	sleep 1
	ch=`ps -ef | grep SCREEN | grep $screen_name`
	if [ -n "$ch" ]; then
		printf "%49s$status_on \n"
	else
		printf "%48s$status_off \n"
	fi
	echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
}

console() {
	if [ $check_version = 1 ]; then
		check_version
	fi
	echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	if [ -f $path/$srcds_pid ] && [ -f $path/$screen_pid ]; then
		printf "$title\033[1;34m Подключение к консоли $SERVER_NAME сервера \033[0m\n"
		echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		printf "\033[36m Для выхода из консоли поочерёдно нажать \033[1;36mCtrl+A, D \033[0m\n"
		printf "\033[36m Для листинга консоли поочерёдно нажать \033[1;36mCtrl+A, Esc \033[0m\n"
		printf "\033[36m Для выхода из режима листинга нажать \033[1;36mEsc \033[0m\n"
		printf "\033[1;31m Внимание!!! По неаккуратности можно положить сервер :D \033[0m\n"
		echo " Консоль включится через 5 секунд..."
		sleep 5
		/usr/bin/screen -R $screen_name
	else
		printf "\033[1;31m Невозможно подключиться к $SERVER_NAME, сервер не запущен \033[0m\n"
	fi
}

compile() {
	if [ $check_version = 1 ]; then
		check_version
	fi
	echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	if [ -d $path/cstrike/addons/amxmodx ]; then
		printf "\033[32m Компиляция плагинов AmxModX \033[0m\n"
		echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		printf "\033[36m Компилируются исходные файлы (sma), находящиеся в директории {addons/amxmodx/scripting/*.sma} \033[0m\n"
		printf "\033[36m По завершению компиляции нажмите Q для выхода \033[0m\n"
		printf "\033[36m Компиляция начнется через 2 секунды. \033[0m\n"
		sleep 2
		cd $path/cstrike/addons/amxmodx/scripting
		./compile.sh
		echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		printf "\033[32m Плагины скомпилированы \033[0m\n"
	else
		printf "\033[22;31m Проверьте установлен ли AmxModX (??) \033[0m\n"
	fi
	echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
}

check_version() {
	echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	cd $path
	rm -f version.txt
	wget http://eqline.ru/project/srcds_init_script/version.txt 1> /dev/null 2>&1
	sleep 1
	for ver in `cat $path/version.txt`
	do
		if [ $VERSION \< $ver ]; then
			printf "\033[1;31m Доступна новая версия скрипта ( $ver )\033[0m\n"
			printf "\033[36m Подробнее на форуме eQline.ru: http://forum.eqline.ru \033[0m\n"
			printf "\033[1;36m Ссылка: http://forum.eqline.ru/topic/361-скрипт-запуска-srcds-серверов/ \033[0m\n"
		else
			printf "\033[1;36m Ваша версия является последней\033[0m \033[1;34m( Текущая версия: $VERSION ) \033[0m\n"
		fi
	break
	done
	echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	rm -f version.txt
	sleep 1
}

checker() {
	checktag="[srcds-CheckUP]"
	checkdown=`$checker_command -P -a2s $srcds_ip:$srcds_port | grep DOWN`
	if [ -n "$checkdown" ]; then
		printf "\033[1;37m$checktag\033[0m $SERVER_NAME \033[31m*[DOWN]*\033[0m\n"
		# echo Отсылаем почту
		cd $path
		time=`date +%X`
		date=`date +%D`
		inlog=`$checker_command -P -a2s $srcds_ip:$srcds_port | grep DOWN`
		printf "[$time - $date] *[DOWN]* $inlog\n" >> checker.log
		stop
		sleep 2
		start
		sleep 1
		echo ----------------ATTANTION---------------- >> checker.log
		printf "StartUP $SERVER_NAME:" >> checker.log
		ch=`ps -ef | grep SCREEN | grep $screen_name`
		if [ -n "$ch" ]; then
			printf " *[OK]* \n" >> checker.log
		else
			printf " *[FAILED]* \n" >> checker.log
		fi
		echo ----------------------------------------- >> checker.log
		exit 1
	fi
	checkup=`$checker_command -P -a2s $srcds_ip:$srcds_port | grep cstrike`
	if [ -n "$checkup" ]; then
		printf "\033[1;37m$checktag\033[0m $SERVER_NAME \033[32m*[OK]*\033[0m\n"
		cd $path
		time=`date +%X`
		date=`date +%D`
		inlog=`quakestat -P -a2s $srcds_ip:$srcds_port | grep cstrike`
		printf "[$time - $date] *[OK]* $inlog\n" >> checker.log
		exit 1
	fi
}

case "$1" in
	start)
		start
	;;
	stop)
		stop
	;;
	restart)
		stop
		sleep 2
		start
	;;
	status)
		status
	;;
	console)
		console
	;;
	compile)
		compile
	;;
	checkUpdate)
		check_version
	;;
	checker)
		checker
	;;
	*)
	echo "Usage: $0 {start|stop|restart|status|console|compile|checkUpdate|checker}"
	exit 1
esac

Shaman
мл. сержант
Сообщения: 82
Зарегистрирован: 2007-08-01 16:23:02
Контактная информация:

Re: Статья: Counter-strike Source сервер на FreeBSD 7.1

Непрочитанное сообщение Shaman » 2010-12-22 12:18:24

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

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

Auto detecting CPU
Using default binary: ./srcds_linux
Server will auto-restart if there is a crash.
Failed to open dedicated.so (libsteam_api.so: cannot handle TLS data)
Add "-debug" to the ./srcds_run command line to generate a debug.log to help with solving this problem
Wed Dec 22 19:03:50 MSK 2010: Server restart in 10 seconds

в логах вот что.

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

SRV4# cat css_server.log
Auto detecting CPU
Using default binary: ./srcds_linux
Failed to open dedicated.so (libsteam_api.so: cannot handle TLS data)
Пробую напрямую

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

SRV4# ./srcds_run -game cstrike +map de_dust2
Auto detecting CPU
Using default binary: ./srcds_linux
Server will auto-restart if there is a crash.
Failed to open dedicated.so (libsteam_api.so: cannot handle TLS data)
Add "-debug" to the ./srcds_run command line to generate a debug.log to help with solving this problem
Wed Dec 22 19:10:50 MSK 2010: Server restart in 10 seconds
Что у меня есть

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

SRV4# uname -r
6.2-RELEASE

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

SRV4# pkg_info | grep linux
linux_base-fc-4_15  Base set of packages needed in Linux mode (for i386/amd64)

Shaman
мл. сержант
Сообщения: 82
Зарегистрирован: 2007-08-01 16:23:02
Контактная информация:

Re: Статья: Counter-strike Source сервер на FreeBSD 7.1

Непрочитанное сообщение Shaman » 2010-12-28 16:43:31

Неужели некто не сталкивался с такой проблемой ? По сей час не могу найти решения.

Аватара пользователя
hedgehog
сержант
Сообщения: 220
Зарегистрирован: 2010-01-26 11:47:05
Откуда: Kharkiv, Ukraine
Контактная информация:

Re: Статья: Counter-strike Source сервер на FreeBSD 7.1

Непрочитанное сообщение hedgehog » 2010-12-28 23:57:13

Shaman писал(а):Неужели некто не сталкивался с такой проблемой ? По сей час не могу найти решения.
с таким старым - не сталкивался... а версия сервера какая? могет, он уже не дружит с таким старым эмулем?

Shaman
мл. сержант
Сообщения: 82
Зарегистрирован: 2007-08-01 16:23:02
Контактная информация:

Re: Статья: Counter-strike Source сервер на FreeBSD 7.1

Непрочитанное сообщение Shaman » 2010-12-29 20:35:40

Версия последняя на сегодняшний день. Врядле дело в версии с более старой версией таже проблема.

Аватара пользователя
hedgehog
сержант
Сообщения: 220
Зарегистрирован: 2010-01-26 11:47:05
Откуда: Kharkiv, Ukraine
Контактная информация:

Re: Статья: Counter-strike Source сервер на FreeBSD 7.1

Непрочитанное сообщение hedgehog » 2010-12-29 21:23:13

Shaman писал(а):Версия последняя на сегодняшний день. Врядле дело в версии с более старой версией таже проблема.
сервер выкачивался/обновлялся тулзой steam? если да - попробуйие еще пару раз прогнать с опцией verify_all. оно имеет свойство выкачивать все нужные файлы с нескольких попыток. у меня с десятым эмулем под 7.2-8.1 i386/amd64 такой проблемы не наблюдалось

Аватара пользователя
SOBAN
ефрейтор
Сообщения: 62
Зарегистрирован: 2010-06-30 14:21:28
Откуда: Россия:Ростов-на-Дону
Контактная информация:

Re: Статья: Counter-strike Source сервер на FreeBSD 7.1

Непрочитанное сообщение SOBAN » 2011-02-10 16:13:17

День добрый, подскажите в чем проблема может быть, гугление не дало особой магии.

Установил все по статье естественно. До этого устанавливай на другой машине все работало, правда на FreeBSD 8.0.
А сейчас пишет в логи

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

Auto detecting CPU
Using default binary: ./srcds_linux
Unable to determine CPU Frequency
Попробывал иначе запустить

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

./srcds_run -game cstrike +map de_dust > css_server.log
Получил такое ответ

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

Auto detecting CPU
Using default binary: ./srcds_linux
Server will auto-restart if there is a crash.
Unable to determine CPU Frequency
Thu Feb 10 16:09:49 MSK 2011: Server Quit
Почему ему не нравиться мой процессор???
Иль не в нем дело??

P.S.: Побывал к стати и ./srcds_linux ответ скромнее но о том же:

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

Unable to determine CPU Frequency
FreeBSD 7.3-RELEASE i386
CPU: Intel Pentium 4 (2.00GHz 686-class CPU)
real memory = 1056899072 (1007 MB)
ad0: 114343MB <Seagate ST3120022A 8.01>

Аватара пользователя
SOBAN
ефрейтор
Сообщения: 62
Зарегистрирован: 2010-06-30 14:21:28
Откуда: Россия:Ростов-на-Дону
Контактная информация:

Re: Статья: Counter-strike Source сервер на FreeBSD 7.1

Непрочитанное сообщение SOBAN » 2011-02-10 20:58:52

Проблема с Unable to determine CPU Frequency решена. Просто не хотел монтироваться linprocfs.
в /etc/fstab добавим строку

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

linproc                 /proc   linprocfs       rw      0       0

Аватара пользователя
SOBAN
ефрейтор
Сообщения: 62
Зарегистрирован: 2010-06-30 14:21:28
Откуда: Россия:Ростов-на-Дону
Контактная информация:

Re: Статья: Counter-strike Source сервер на FreeBSD 7.1

Непрочитанное сообщение SOBAN » 2011-02-11 0:49:07

Подскажите пожалуйста еще имеется ли кряк под последнюю версию сервера. Ибо крякаю тем что выложено в начале... но допускает только STEAM клиентов...

Благодарю заранее.

Аватара пользователя
tom.cat
старшина
Сообщения: 446
Зарегистрирован: 2007-11-24 20:23:49
Откуда: Мытищи
Контактная информация:

Re: Статья: Counter-strike Source сервер на FreeBSD 7.1

Непрочитанное сообщение tom.cat » 2011-02-11 10:17:45

Добавь в запуск такой вот ключик:

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

-binary ./srcds_i686
Если для обычного cs:

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

-binary ./hlds_i686
И будет тебе счастье.
When you see pigs fly it means Windows has become open source

Аватара пользователя
hedgehog
сержант
Сообщения: 220
Зарегистрирован: 2010-01-26 11:47:05
Откуда: Kharkiv, Ukraine
Контактная информация:

Re: Статья: Counter-strike Source сервер на FreeBSD 7.1

Непрочитанное сообщение hedgehog » 2011-02-11 10:52:32

Игорь писал(а):Подскажите пожалуйста еще имеется ли кряк под последнюю версию сервера. Ибо крякаю тем что выложено в начале... но допускает только STEAM клиентов...

Благодарю заранее.
dproto

alex
рядовой
Сообщения: 18
Зарегистрирован: 2009-12-29 14:43:48

Re: Статья: Counter-strike Source сервер на FreeBSD 7.1

Непрочитанное сообщение alex » 2011-02-13 15:41:23

делал по статье но нету файлов которые надо патчить nosteam, может связано в новой версией??

deepfritz
проходил мимо
Сообщения: 6
Зарегистрирован: 2009-10-26 18:43:05

Re: Статья: Counter-strike Source сервер на FreeBSD 7.1

Непрочитанное сообщение deepfritz » 2011-02-22 8:39:51

доброе время суток!
Ставлю сервер на css и дошел до места, где необходима пропатчить два файла, патч скачал отсюда http://www.bsdlife.ru/files/vup/vup_i386 при установке патча лицезрею такую картинку .... Поделитесь нормальный патчем..
(FreeBSD 7.2-RELEASE-p8 i386)
Вложения
patch.png

Аватара пользователя
SOBAN
ефрейтор
Сообщения: 62
Зарегистрирован: 2010-06-30 14:21:28
Откуда: Россия:Ростов-на-Дону
Контактная информация:

Re: Статья: Counter-strike Source сервер на FreeBSD 7.1

Непрочитанное сообщение SOBAN » 2011-02-22 16:20:06

Можешь поискать на csmania.ru или cs.rin.ru как написано на скрине! :)

Гость
проходил мимо

Re: Статья: Counter-strike Source сервер на FreeBSD 7.1

Непрочитанное сообщение Гость » 2012-01-20 16:21:25

Ребят, в чем проблема, понять не могу :(

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

home-bsd# /usr/home/comb/files/vup_i686 /usr/home/comb/hlds/css/bin/steamclient.so
Segmentation fault (core dumped)