Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

8 страниц V  « 4 5 6 7 »

Скрипт запуска HLDS-серверов + Source NEW

, 0.96
Статус пользователя b.rash
сообщение 26.9.2012, 20:12
Сообщение #81
Стаж: 14 лет

Сообщений: 17
Благодарностей: 2
Полезность: 0

У меня не работает команда "скрипт console"
Debian 6
Скрытый текст

rash@srv:~$ sh /etc/init.d/cs console
/etc/init.d/cs: 1: #!/bin/bash: not found
[>>] Подключение к консоли srv.ua сервера
Для выхода из консоли поочерёдно нажать Ctrl+A, D
Для листинга консоли поочерёдно нажать Ctrl+A, Esc
Для выхода из режима листинга нажать Esc
Внимание!!! По неаккуратности можно положить сервер :D
-en Консоль включится через 5 сек
/etc/init.d/cs: 385: let: not found
-en Консоль включится через 5 сек
/etc/init.d/cs: 385: let: not found
-en Консоль включится через 5 сек
/etc/init.d/cs: 385: let: not found
-en Консоль включится через 5 сек
/etc/init.d/cs: 385: let: not found
-en Консоль включится через 5 сек
/etc/init.d/cs: 385: let: not found
-en Консоль включится через 5 сек
/etc/init.d/cs: 385: let: not found
-en Консоль включится через 5 сек
/etc/init.d/cs: 385: let: not found
-en Консоль включится через 5 сек
/etc/init.d/cs: 385: let: not found
-en Консоль включится через 5 сек
/etc/init.d/cs: 385: let: not found
-en Консоль включится через 5 сек
/etc/init.d/cs: 385: let: not found
-en Консоль включится через 5 сек
/etc/init.d/cs: 385: let: not found
^C

Подскажите, что не так?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vladsol
сообщение 26.9.2012, 20:18
Сообщение #82
Стаж: 17 лет

Сообщений: 588
Благодарностей: 87
Полезность: 161

b.rash,
Это... Какой глубинный смысл в таком виде запуска скрипта?
Ну, я о sh /etc/init.d/cs console
Вот sh и пытается сам интерпретировать скрипт... И о комманде let не знает.

Отредактировал: vladsol, - 26.9.2012, 20:21
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя b.rash
сообщение 27.9.2012, 5:25
Сообщение #83
Стаж: 14 лет

Сообщений: 17
Благодарностей: 2
Полезность: 0

)). да. просто /etc/init.d/cs console
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Kain_wrath
сообщение 4.10.2012, 10:01
Сообщение #84
Стаж: 13 лет

Сообщений: 331
Благодарностей: 141
Полезность: 311

Не подскажете как привязывать процесс к ядру в многопроцесорной системе?)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя f1nik
сообщение 4.10.2012, 10:05
Сообщение #85


Иконка группы

Стаж: 15 лет

Сообщений: 1862
Благодарностей: 932
Полезность: 1010

Цитата(Kain_wrath @ 4.10.2012, 10:01) *
Не подскажете как привязывать процесс к ядру в многопроцесорной системе?)


Цитата
#----------------------------------------------------
# Номер ядра/процессора в линуксе
# 2х-ядерные: 0 - первое ядро, 1 - второе ядро
# 4x-ядерные: 0 - первое ядро ... 3 - четвертое ядро
# По аналогии с другими многоядерными процессорами
use_core=0
#----------------------------------------------------
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Predator.Cat
сообщение 30.10.2012, 16:09
Сообщение #86


Стаж: 15 лет

Сообщений: 251
Благодарностей: 33
Полезность: 119

Цитата(knaus-94 @ 19.4.2011, 18:28) *
запустил 1 сервер,потом проделал все тоже самое запуская второй - в ответ получил дулю sad.gif .как запустить ещё один сервер этим скриптом?
p.s CentOS

Цитата(knaus-94 @ 19.4.2011, 21:11) *
все,доперло

Хоть бы поведал остальным, в чём допёрло. Меня вот не допёрло пока. Аналогичная проблема. CentOS 6.3.
Скрипт №1

#!/bin/bash
# chkconfig: 2345 95 20
# description: HLDS Start Script
# Start HLDS Server
# processname: hlds
# author: LeXiKoN http://eqline.ru
# version: 0.98

# Source function library.
. /etc/rc.d/init.d/functions

VERSION=0.98

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

SERVER_NAME="ZiON CS 1.6 Classic" #Название сервера
screen_name=classic #Название screen-сессии
path="/opt/hlds/" #Путь до ROOT-директории сервера
hlds_ip=**.***.***.** #IP сервера
hlds_port=27015 #Порт сервера
hlds_gametype=cstrike #Тип игры
hlds_players=32 #Максимальное количество игроков на сервере
hlds_map=de_dust2_2x2 #Имя первоначальной карты при запуске
hlds_pid=cs.pid
screen_pid=$screen_name-screen.pid
hlds_options="-pingboost 3 -timeout 30 +sv_lan 0 -master -insecure +sys_ticrate 1000 +exec server.cfg +log on" #Дополнительные параметры запуска
use_user=hlds #Имя юзера от которого запускается сервер
condebug=1
check_version=0
checker_command="quakestat" #Команда пакета qStat отвечающего за проверку сервера
restarttime=10 #Время после которого сервер будет перезагружен ( выводится в чат на сервере )

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


Скрипт №2

#!/bin/bash
# chkconfig: 2345 95 20
# description: HLDS GunGame Start Script
# Start HL GunGame Server
# processname: hlgg
# author: LeXiKoN http://eqline.ru
# version: 0.98

# Source function library.
. /etc/rc.d/init.d/functions

VERSION=0.98

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

SERVER_NAME="ZiON CS 1.6 GunGame" #Название сервера
screen_name=gungame #Название screen-сессии
path="/opt/gg/" #Путь до ROOT-директории сервера
hlds_ip=**.***.***.** #IP сервера
hlds_port=27016 #Порт сервера
hlds_gametype=cstrike #Тип игры
hlds_players=32 #Максимальное количество игроков на сервере
hlds_map=de_dust2_2x2_b #Имя первоначальной карты при запуске
hlds_pid=gg.pid
screen_pid=$screen_name-screen.pid
hlds_options="-pingboost 3 -timeout 30 +sv_lan 0 -master -insecure +sys_ticrate 1000 +exec server.cfg +log on" #Дополнительные параметры запуска
use_user=hlds #Имя юзера от которого запускается сервер
condebug=1
check_version=0
checker_command="quakestat" #Команда пакета qStat отвечающего за проверку сервера
restarttime=10 #Время после которого сервер будет перезагружен ( выводится в чат на сервере )

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


Скрипт №2 не запускает сервер gg. При этом, по service gg status, говорит, что ONLINE. Моим скриптом запускается.
Мой скрипт

#/bin/bash/
cd /opt/gg

export LD_LIBRARY_PATH=/opt/gg:$LD_LIBRARY_PATH

./hlds_run -binary ./hlds_i686 -debug -timeout 30 +sv_lan 0 -master -insecure -game cstrike +ip **.***.***.** +port 27016 +maxplayers 32 +sys_ticrate 700 -pingbooster 2 > hlds.log 2>&1 &


И, пользуясь случаем, хотелось бы узнать, куда оно пишет логи?

Вот, что мне сообщила консоль:
console

L 10/31/2012 - 14:43:23: [META] dll: Loaded plugin 'MySQL': MySQL v1.8.1.3746 Aug 16 2008, AMX Mod X Dev Team
L 10/31/2012 - 14:43:23: [META] dll: Loaded plugin 'Fun': Fun v1.8.1.3746 Aug 16 2008, AMX Mod X Dev Team
L 10/31/2012 - 14:43:23: [META] dll: Loaded plugin 'FakeMeta': FakeMeta v1.8.1.3746 Aug 16 2008, AMX Mod X Dev Team
L 10/31/2012 - 14:43:23: [META] dll: Loaded plugin 'CStrike': CStrike v1.8.1.3746 Aug 16 2008, AMX Mod X Dev Team
L 10/31/2012 - 14:43:23: [META] dll: Loaded plugin 'CSX': CSX v1.8.1.3746 Aug 16 2008, AMX Mod X Dev Team
L 10/31/2012 - 14:43:23: [META] ERROR: Failed to find memloc for regcmd 'ham'
L 10/31/2012 - 14:43:23: [META] dll: Loaded plugin 'Ham Sandwich': Ham Sandwich v1.8.1.3746 Aug 16 2008, AMX Mod X Dev Team
stray key in process_key: item_getiteminfo 63
L 10/31/2012 - 14:43:23: [META] dll: Loaded plugin 'AMX Mod X': AMX Mod X v1.8.1.3746 Aug 16 2008, AMX Mod X Dev Team
L 10/31/2012 - 14:43:23: [META] ERROR: dll: Not loading plugin 'MySQL'; already loaded (status=running)
L 10/31/2012 - 14:43:23: [META] ERROR: dll: Failed to load plugin 'mysql_amxx_i386.so'
L 10/31/2012 - 14:43:23: [META] ERROR: dll: Not loading plugin 'Fun'; already loaded (status=running)
L 10/31/2012 - 14:43:23: [META] ERROR: dll: Failed to load plugin 'fun_amxx_i386.so'
L 10/31/2012 - 14:43:23: [META] ERROR: dll: Not loading plugin 'FakeMeta'; already loaded (status=running)
L 10/31/2012 - 14:43:23: [META] ERROR: dll: Failed to load plugin 'fakemeta_amxx_i386.so'
L 10/31/2012 - 14:43:23: [META] ERROR: dll: Not loading plugin 'CStrike'; already loaded (status=running)
L 10/31/2012 - 14:43:23: [META] ERROR: dll: Failed to load plugin 'cstrike_amxx_i386.so'
L 10/31/2012 - 14:43:23: [META] ERROR: dll: Not loading plugin 'CSX'; already loaded (status=running)
L 10/31/2012 - 14:43:23: [META] ERROR: dll: Failed to load plugin 'csx_amxx_i386.so'
L 10/31/2012 - 14:43:23: [META] ERROR: dll: Not loading plugin 'Ham Sandwich'; already loaded (status=running)
L 10/31/2012 - 14:43:23: [META] ERROR: dll: Failed to load plugin 'hamsandwich_amxx_i386.so'
L 10/31/2012 - 14:43:23: [META] dll: Finished loading 2 plugins
map change failed: 'de_dust2_2x2_b' not found on server.


Отредактировал: Predator.Cat, - 31.10.2012, 13:34
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Predator.Cat
сообщение 30.10.2012, 21:31
Сообщение #87


Стаж: 15 лет

Сообщений: 251
Благодарностей: 33
Полезность: 119

Возникла проблема также с 1-м скриптом. Сервер периодически отваливается:
console

./hlds_run: line 321: 12925 Ошибка сегментирования (core dumped) $HL_CMD
email debug.log to linux@valvesoftware.com
Срд Окт 31 15:30:41 MSK 2012: Server restart in 30 seconds


Отредактировал: Predator.Cat, - 31.10.2012, 13:33
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Predator.Cat
сообщение 31.10.2012, 12:47
Сообщение #88


Стаж: 15 лет

Сообщений: 251
Благодарностей: 33
Полезность: 119

[deleted]

Отредактировал: Predator.Cat, - 31.10.2012, 13:33
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Predator.Cat
сообщение 1.11.2012, 23:37
Сообщение #89


Стаж: 15 лет

Сообщений: 251
Благодарностей: 33
Полезность: 119

Вторую проблему решил. Нужно было 89-ю строку скрипта
Код
    $INTR sudo -u $use_user ./hlds_run -game $hlds_gametype +maxplayers $hlds_players +map $hlds_map +ip $hlds_ip +port $hlds_port $hlds_options $hlds_options2 -pidfile $hlds_pid

привести к виду:
Код
    $INTR sudo -u $use_user ./hlds_run -binary ./hlds_i686 -game $hlds_gametype +maxplayers $hlds_players +map $hlds_map +ip $hlds_ip +port $hlds_port $hlds_options $hlds_options2 -pidfile $hlds_pid


Но первая проблема по-прежнему актуальна. Второй сервер виснет при запуске. В консоли следующее:
Скрытый текст
Код
Auto-restarting the server on crash

Console initialized.
Using breakpad crash handler
Setting breakpad minidump AppID = 10
Forcing breakpad minidump interfaces to load
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Installing breakpad exception handler for appid(10)/version(5787)
scandir failed:/opt/gg/SAVE
scandir failed:/opt/gg/./valve/SAVE
scandir failed:/opt/gg/./platform/SAVE
Protocol version 48
Exe version 1.1.2.6/Stdio (cstrike)
Exe build: 11:30:00 Aug 28 2012 (5787)
STEAM Auth Server
Server logging data to file logs//L1102003.log
L 11/02/2012 - 01:10:11: Log file started (file "logs//L1102003.log") (game "cstrike") (version "48/1.1.2.6/Stdio/5787")
L 11/02/2012 - 01:10:11: Server cvar "sv_maxrate" = "50000"
L 11/02/2012 - 01:10:11: Server cvar "sv_minrate" = "10000"
L 11/02/2012 - 01:10:11: Server cvar "sv_aim" = "0"
L 11/02/2012 - 01:10:11: Server cvar "sv_contact" = "admin@zion.org.ru"
L 11/02/2012 - 01:10:11: Server cvar "sv_stopspeed" = "75"
L 11/02/2012 - 01:10:11: Log file closed
Server logging data to file logs//L1102004.log
L 11/02/2012 - 01:10:11: Log file started (file "logs//L1102004.log") (game "cstrike") (version "48/1.1.2.6/Stdio/5787")
Server IP address 95.143.220.35:27016

   Metamod version 1.19  Copyright (c) 2001-2006 Will Day <willday@metamod.org>
   Metamod comes with ABSOLUTELY NO WARRANTY; for details type `meta gpl'.
   This is free software, and you are welcome to redistribute it
   under certain conditions; type `meta gpl' for details.

L 11/02/2012 - 01:10:11: [META] Metamod v1.19  2006-04-17
L 11/02/2012 - 01:10:11: [META] by Will Day <willday@metamod.org>
L 11/02/2012 - 01:10:11: [META]    http://www.metamod.org/
L 11/02/2012 - 01:10:11: [META] compiled: Apr 17 2006, 19:08:34 +0200 (optimized)
L 11/02/2012 - 01:10:11: [META] engine: i686
L 11/02/2012 - 01:10:11: [META] Recognized game 'cstrike'; using dllfile 'cs_i386.so'
L 11/02/2012 - 01:10:11: [META] Game DLL for 'Counter-Strike' loaded successfully
L 11/02/2012 - 01:10:11: [META] ini: Begin reading plugins list: /opt/gg/cstrike/addons/metamod/plugins.ini
L 11/02/2012 - 01:10:11: [META] ini: Read plugin config for: <dproto_i386.so>
L 11/02/2012 - 01:10:11: [META] ini: Read plugin config for: <amxmodx_mm_i386.so>
L 11/02/2012 - 01:10:11: [META] ini: Finished reading plugins list: /opt/gg/cstrike/addons/metamod/plugins.ini; Found 2 plugins to load
L 11/02/2012 - 01:10:11: [META] dll: Loading plugins...
[DPROTO]: Version 0.9.87 Linux
L 11/02/2012 - 01:10:11: [DPROTO]: Version 0.9.87 Linux
[DPROTO]:  Loading config './cstrike/dproto.cfg'
L 11/02/2012 - 01:10:11: [DPROTO]:  Loading config './cstrike/dproto.cfg'
[DPROTO]:  LoggingMode = 2
L 11/02/2012 - 01:10:11: [DPROTO]:  LoggingMode = 2
L 11/02/2012 - 01:10:11: [DPROTO]: AuthID for HLTV: HLTV
L 11/02/2012 - 01:10:11: [DPROTO]: AuthID for No-steam p47 clients: STEAM id generated by ip
L 11/02/2012 - 01:10:11: [DPROTO]: AuthID for No-steam p48 clients: STEAM id generated by ip
L 11/02/2012 - 01:10:11: [DPROTO]: AuthID for steam clients: Real STEAM_x:x:x
L 11/02/2012 - 01:10:11: [DPROTO]: AuthID for steam unauthorized clients: STEAM_ID_PENDING
L 11/02/2012 - 01:10:11: [DPROTO]: AuthID for RevEmu clients: Real STEAM_x:x:x
L 11/02/2012 - 01:10:11: [DPROTO]: AuthID for SteamClient2009 clients: Real STEAM_x:x:x
L 11/02/2012 - 01:10:11: [DPROTO]: AuthID for Old RevEmu clients: Real STEAM_x:x:x
L 11/02/2012 - 01:10:11: [DPROTO]: AuthID for SteamEmu clients: Real STEAM_x:x:x
L 11/02/2012 - 01:10:11: [DPROTO]: AuthID for AVSMP clients: Real STEAM_x:x:x
L 11/02/2012 - 01:10:11: [DPROTO]: AuthID for SETTI server scanner: STEAM id generated by ip
L 11/02/2012 - 01:10:11: [DPROTO]:  SC2009 => revEmu Steamid Compatibility fix: ENABLED
L 11/02/2012 - 01:10:11: [DPROTO]: p47 Emus SteamEmuCompatMode : ON
L 11/02/2012 - 01:10:11: [DPROTO]: Disable fix for steamids generated by eST in 0.3.1 version: No
L 11/02/2012 - 01:10:11: [DPROTO]:  First prefix of authids genrated by ip: 0
L 11/02/2012 - 01:10:11: [DPROTO]:  Second prefix of authids genrated by ip: 4
L 11/02/2012 - 01:10:11: [DPROTO]:  First prefix of authids assigned by native auth method(Steam): 0
L 11/02/2012 - 01:10:11: [DPROTO]:  First prefix of authids assigned by SteamClient2009: 0
L 11/02/2012 - 01:10:11: [DPROTO]:  First prefix of authids assigned by RevEmu: 0
L 11/02/2012 - 01:10:11: [DPROTO]:  First prefix of authids assigned by old RevEmu: 0
L 11/02/2012 - 01:10:11: [DPROTO]:  First prefix of authids assigned by SteamEmu: 0
L 11/02/2012 - 01:10:11: [DPROTO]:  First prefix of authids for AVSMP clients: 0
L 11/02/2012 - 01:10:11: [DPROTO]:  First prefix of authids for Setti server scanner: 0
L 11/02/2012 - 01:10:11: [DPROTO]:  [FakePlayers]: Timeout for connecting clients: 6 seconds
L 11/02/2012 - 01:10:11: [DPROTO]:  [FakePlayers]: Timeout for client's uniquity validation: 8 seconds
L 11/02/2012 - 01:10:11: [DPROTO]:  [FakePlayers]: Agressive check reconnecting players: ON
L 11/02/2012 - 01:10:11: [DPROTO]: Ban IP that spamming fake players for: 120.000000 minutes
L 11/02/2012 - 01:10:11: [DPROTO]:  Disable Native Auth (Steam/Valve): OFF
L 11/02/2012 - 01:10:11: [DPROTO]:  ServerInfo answer type: Hybrid
L 11/02/2012 - 01:10:11: [DPROTO]:  Enable master-client emulation on primary port: OFF
L 11/02/2012 - 01:10:11: [DPROTO]: This version of game will be used by master-client to send to master-servers: '1.1.2.6/Stdio'
L 11/02/2012 - 01:10:11: [DPROTO]:  Enable secondary redirect-server: OFF
L 11/02/2012 - 01:10:11: [DPROTO]:  Secondary server port: 28015
L 11/02/2012 - 01:10:11: [DPROTO]:  Enable master client on secondary server: OFF
L 11/02/2012 - 01:10:11: [DPROTO]:  Secondary server ServerInfo answer type: New Style (Source)
L 11/02/2012 - 01:10:11: [DPROTO]:  Secondary server will execute this in connecting clients: 'connect 169.254.141.3:27015'
L 11/02/2012 - 01:10:11: [DPROTO]:  Secondary server ip: 0.0.0.0
L 11/02/2012 - 01:10:11: [DPROTO]: Setting game name to: 'GunGame'
L 11/02/2012 - 01:10:11: [DPROTO]:  Enable Fix for player ids on hlstats monitoring: OFF
L 11/02/2012 - 01:10:11: [DPROTO]: dp_version cvar will be exported: Yes
L 11/02/2012 - 01:10:11: [DPROTO]:  HLTV Kick Exception Address: 127.0.0.1
[DPROTO]:  Config sucessfully loaded.
L 11/02/2012 - 01:10:11: [DPROTO]:  Config sucessfully loaded.
L 11/02/2012 - 01:10:11: [DPROTO]: Server port: 27016
L 11/02/2012 - 01:10:11: [DPROTO]: engine_i686.so found at 0xf71a1000
L 11/02/2012 - 01:10:12: [DPROTO]: Begin DSEngineData Dump:
L 11/02/2012 - 01:10:12: [DPROTO]: hLib = 09B0C1B0
L 11/02/2012 - 01:10:12: [DPROTO]: libBase = F71A1000
L 11/02/2012 - 01:10:12: [DPROTO]: Q_strcpy_addr = F71EB730
L 11/02/2012 - 01:10:12: [DPROTO]: Q_strcpy_jaddr = 00000000
L 11/02/2012 - 01:10:12: [DPROTO]: SV_ConnectClient_addr = F7222CE0
L 11/02/2012 - 01:10:12: [DPROTO]: MSG_WriteLong_addr = F71EA460
L 11/02/2012 - 01:10:12: [DPROTO]: SV_RejectConnection_addr = F72224E0
L 11/02/2012 - 01:10:12: [DPROTO]: MSG_WriteLong_jaddr = 00000000
L 11/02/2012 - 01:10:12: [DPROTO]: MSG_WriteString_addr = F71EA4E0
L 11/02/2012 - 01:10:12: [DPROTO]: MSG_WriteByte_addr = F71EA3D0
L 11/02/2012 - 01:10:12: [DPROTO]: SV_ParseCvarValue2_addr = F723C490
L 11/02/2012 - 01:10:12: [DPROTO]: SV_RejectConnection_jaddr = 00000000
L 11/02/2012 - 01:10:12: [DPROTO]: SV_CheckUserInfo_addr) = F72227F0
L 11/02/2012 - 01:10:12: [DPROTO]: SV_CheckUserInfo_jaddr = 00000000
L 11/02/2012 - 01:10:12: [DPROTO]: Info_ValueForKey_addr = F72017F0
L 11/02/2012 - 01:10:12: [DPROTO]: Info_ValueForKey_jaddr = 00000000
L 11/02/2012 - 01:10:12: [DPROTO]: Steam_NotifyClientConnect_addr = F724AB30
L 11/02/2012 - 01:10:12: [DPROTO]: Steam_NotifyClientConnect_jaddr = 00000000
L 11/02/2012 - 01:10:12: [DPROTO]: SV_ConnectionlessPacket_addr = F7225BC0
L 11/02/2012 - 01:10:12: [DPROTO]: SV_ConnectionlessPacket_jaddr = 00000000
L 11/02/2012 - 01:10:12: [DPROTO]: SVC_GetChallenge_addr = F7223B40
L 11/02/2012 - 01:10:12: [DPROTO]: SVC_GetChallenge_jaddr = 00000000
L 11/02/2012 - 01:10:12: [DPROTO]: NET_SendPacket_addr = F7243C50
L 11/02/2012 - 01:10:12: [DPROTO]: NET_SendPacket_jaddr = 00000000
L 11/02/2012 - 01:10:12: [DPROTO]: Host_Error_addr = F71F92B0
L 11/02/2012 - 01:10:12: [DPROTO]: Host_Error_jaddr = 00000000
L 11/02/2012 - 01:10:12: [DPROTO]: SV_ParseVoiceData_addr = F723B790
L 11/02/2012 - 01:10:12: [DPROTO]: Netchan_CreateFragments__addr = F720BA10
L 11/02/2012 - 01:10:12: [DPROTO]: Netchan_CreateFragments__jaddr = 00000000
L 11/02/2012 - 01:10:12: [DPROTO]: SV_CheckKeyInfo_addr = F722F8D0
L 11/02/2012 - 01:10:12: [DPROTO]: SV_CheckKeyInfo_jaddr = 00000000
L 11/02/2012 - 01:10:12: [DPROTO]: GSClientDenyHelper_addr = F7249150
L 11/02/2012 - 01:10:12: [DPROTO]: GSClientDenyHelper_jaddr = 00000000
L 11/02/2012 - 01:10:12: [DPROTO]: sv_lan_addr = F726E914
L 11/02/2012 - 01:10:12: [DPROTO]: SV_SendServerInfo_addr = F7220E20
L 11/02/2012 - 01:10:12: [DPROTO]: SV_SendServerInfo_jaddr = 00000000
L 11/02/2012 - 01:10:12: [DPROTO]: SV_ReadPackets_addr = F7226300
L 11/02/2012 - 01:10:12: [DPROTO]: SV_CheckTimeouts_addr = F72302A0
L 11/02/2012 - 01:10:12: [DPROTO]: SV_GetClientIDString_addr = F722EB70
L 11/02/2012 - 01:10:12: [DPROTO]: SV_GetIDString_addr = F722DD40
L 11/02/2012 - 01:10:12: [DPROTO]: CheckProto_GoodRet_addr = F7222DB8
L 11/02/2012 - 01:10:12: [DPROTO]: CheckProto_BadRet_addr = F7223B2A
L 11/02/2012 - 01:10:12: [DPROTO]: CheckProto_haddr = F7222D63
L 11/02/2012 - 01:10:12: [DPROTO]: CheckCDKey_haddr = F722321E
L 11/02/2012 - 01:10:12: [DPROTO]: CheckCDKey_GoodRet_addr = F72232DD
L 11/02/2012 - 01:10:12: [DPROTO]: ValidationChecking_haddr = F72236B8
L 11/02/2012 - 01:10:12: [DPROTO]: ValidationChecking_GoodRet_addr = F7223728
L 11/02/2012 - 01:10:12: [DPROTO]: SteamValidationCheck_haddr = F722365D
L 11/02/2012 - 01:10:12: [DPROTO]: ProtocolWriteCode_haddr = F7220EC1
L 11/02/2012 - 01:10:12: [DPROTO]: ISMSU_HandlePacket_haddr = F7226457
L 11/02/2012 - 01:10:12: [DPROTO]: GetChallenge_SendPacket_haddr = F7223D67
L 11/02/2012 - 01:10:12: [DPROTO]: ConnectClient_AuthProto_soff = FFFFF184
L 11/02/2012 - 01:10:12: [DPROTO]: ConnectClient_CDKey_soff = FFFFF58C
L 11/02/2012 - 01:10:12: [DPROTO]: ParseVoiceData_HostError_haddr = 00000000
L 11/02/2012 - 01:10:12: [DPROTO]: ParseCvarValue2_StrCpy_haddr = 00000000
L 11/02/2012 - 01:10:12: [DPROTO]: ConnectClient_IPRangeChecking_haddr = F7223079
L 11/02/2012 - 01:10:12: [DPROTO]: ConnectClient_IPRangeChecking_GoodRet_addr = F72230F0
L 11/02/2012 - 01:10:12: [DPROTO]: client_t_size = 00004EF4
L 11/02/2012 - 01:10:12: [DPROTO]: ClientID_off = 00004A90
L 11/02/2012 - 01:10:12: [DPROTO]: SV_DropClient_addr = F71F9800
L 11/02/2012 - 01:10:12: [DPROTO]: recvfrom_haddr = F724345F
L 11/02/2012 - 01:10:12: [DPROTO]: gEntityInterface_addr = F74D57C0
L 11/02/2012 - 01:10:12: [DPROTO]: net_from_addr = F76E87F8
L 11/02/2012 - 01:10:12: [DPROTO]: net_message_addr = F76E7818
L 11/02/2012 - 01:10:12: [DPROTO]: svs_addr = F76783E0
L 11/02/2012 - 01:10:12: [DPROTO]: cvar_vars_addr = F726CBF0
L 11/02/2012 - 01:10:12: [DPROTO]: numuserfilters_addr = F726E730
L 11/02/2012 - 01:10:12: [DPROTO]: userfilters_addr = F74D83E0
L 11/02/2012 - 01:10:12: [DPROTO]: realtime_addr = F746B960
L 11/02/2012 - 01:10:12: [DPROTO]: ISMSU_HandlePacket_addr = F717FFA7
L 11/02/2012 - 01:10:12: [DPROTO]: Steam_GSBSecure_addr = F724AF20
L 11/02/2012 - 01:10:12: [DPROTO]: Patching for: <Dynamic p48 Linux patcher>...
L 11/02/2012 - 01:10:12: [DPROTO]: Done.
L 11/02/2012 - 01:10:12: [META] dll: Loaded plugin 'dproto_EF': dproto_EF v0.9.87 2010-10-26, Crock

   AMX Mod X version 1.8.1.3746 Copyright (c) 2004-2006 AMX Mod X Development Team
   AMX Mod X comes with ABSOLUTELY NO WARRANTY; for details type `amxx gpl'.
   This is free software and you are welcome to redistribute it under
   certain conditions; type 'amxx gpl' for details.

L 11/02/2012 - 01:10:12: [META] dll: Loaded plugin 'MySQL': MySQL v1.8.1.3746 Aug 16 2008, AMX Mod X Dev Team
L 11/02/2012 - 01:10:12: [META] dll: Loaded plugin 'Fun': Fun v1.8.1.3746 Aug 16 2008, AMX Mod X Dev Team
L 11/02/2012 - 01:10:12: [META] dll: Loaded plugin 'FakeMeta': FakeMeta v1.8.1.3746 Aug 16 2008, AMX Mod X Dev Team
L 11/02/2012 - 01:10:12: [META] dll: Loaded plugin 'CStrike': CStrike v1.8.1.3746 Aug 16 2008, AMX Mod X Dev Team
L 11/02/2012 - 01:10:12: [META] dll: Loaded plugin 'CSX': CSX v1.8.1.3746 Aug 16 2008, AMX Mod X Dev Team
L 11/02/2012 - 01:10:12: [META] ERROR: Failed to find memloc for regcmd 'ham'
L 11/02/2012 - 01:10:12: [META] dll: Loaded plugin 'Ham Sandwich': Ham Sandwich v1.8.1.3746 Aug 16 2008, AMX Mod X Dev Team
stray key in process_key: item_getiteminfo 63
L 11/02/2012 - 01:10:12: [META] dll: Loaded plugin 'AMX Mod X': AMX Mod X v1.8.1.3746 Aug 16 2008, AMX Mod X Dev Team
L 11/02/2012 - 01:10:12: [META] ERROR: dll: Not loading plugin 'MySQL'; already loaded (status=running)
L 11/02/2012 - 01:10:12: [META] ERROR: dll: Failed to load plugin 'mysql_amxx_i386.so'
L 11/02/2012 - 01:10:12: [META] ERROR: dll: Not loading plugin 'Fun'; already loaded (status=running)
L 11/02/2012 - 01:10:12: [META] ERROR: dll: Failed to load plugin 'fun_amxx_i386.so'
L 11/02/2012 - 01:10:12: [META] ERROR: dll: Not loading plugin 'FakeMeta'; already loaded (status=running)
L 11/02/2012 - 01:10:12: [META] ERROR: dll: Failed to load plugin 'fakemeta_amxx_i386.so'
L 11/02/2012 - 01:10:12: [META] ERROR: dll: Not loading plugin 'CStrike'; already loaded (status=running)
L 11/02/2012 - 01:10:12: [META] ERROR: dll: Failed to load plugin 'cstrike_amxx_i386.so'
L 11/02/2012 - 01:10:12: [META] ERROR: dll: Not loading plugin 'CSX'; already loaded (status=running)
L 11/02/2012 - 01:10:12: [META] ERROR: dll: Failed to load plugin 'csx_amxx_i386.so'
L 11/02/2012 - 01:10:12: [META] ERROR: dll: Not loading plugin 'Ham Sandwich'; already loaded (status=running)
L 11/02/2012 - 01:10:12: [META] ERROR: dll: Failed to load plugin 'hamsandwich_amxx_i386.so'
L 11/02/2012 - 01:10:12: [META] dll: Finished loading 2 plugins
map change failed: 'de_dust2_2x2_b' not found on server.

map change failed: 'de_dust2' not found on server.

L 11/02/2012 - 01:10:12: Log file closed
Server logging data to file logs//L1102005.log
L 11/02/2012 - 01:10:12: Log file started (file "logs//L1102005.log") (game "cstrike") (version "48/1.1.2.6/Stdio/5787")
L 11/02/2012 - 01:10:12: Server cvar "mp_logdetail" = "3"
map change failed: 'de_dust2_2x2_b' not found on server.

L 11/02/2012 - 01:10:12: Server cvar "mp_autokick" = "0"
L 11/02/2012 - 01:10:12: Server cvar "mp_buytime" = "0.5"
L 11/02/2012 - 01:10:12: Server cvar "mp_c4timer" = "50"
L 11/02/2012 - 01:10:12: Server cvar "mp_chattime" = "1"
L 11/02/2012 - 01:10:12: Server cvar "mp_flashlight" = "1"
L 11/02/2012 - 01:10:12: Server cvar "mp_freezetime" = "0"
L 11/02/2012 - 01:10:12: Server cvar "mp_hostagepenalty" = "0"
L 11/02/2012 - 01:10:12: Server cvar "mp_limitteams" = "1"
L 11/02/2012 - 01:10:12: Server cvar "mp_playerid" = "1"
L 11/02/2012 - 01:10:12: Server cvar "mp_roundtime" = "4"
L 11/02/2012 - 01:10:12: Server cvar "mp_timelimit" = "20"


Отредактировал: Predator.Cat, - 1.11.2012, 23:40
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Predator.Cat
сообщение 27.11.2012, 10:08
Сообщение #90


Стаж: 15 лет

Сообщений: 251
Благодарностей: 33
Полезность: 119

Консоль сервера постоянно засирается следующими сообщениями:
Код
FS:  Tried to FS: fprintf NULL file handle!
FS:  Tried to FS: fprintf NULL file handle!
FS:  Tried to Close NULL file handle!
FS:  Tried to Close NULL file handle!

и
Код
threadtools.cpp (2968) : Assertion Failed: Failed to create thread (error 0xb)

Что это такое и как с этим бороться?
С моим скриптом запуска в консоли подобной гадости не появляется.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя c0rax
сообщение 27.11.2012, 10:27
Сообщение #91


Стаж: 18 лет

Сообщений: 1077
Благодарностей: 530
Полезность: 884

Цитата(Predator.Cat @ 27.11.2012, 10:08) *
Консоль сервера постоянно засирается следующими сообщениями:
Код
FS:  Tried to FS: fprintf NULL file handle!
FS:  Tried to FS: fprintf NULL file handle!
FS:  Tried to Close NULL file handle!
FS:  Tried to Close NULL file handle!

и
Код
threadtools.cpp (2968) : Assertion Failed: Failed to create thread (error 0xb)

Что это такое и как с этим бороться?
С моим скриптом запуска в консоли подобной гадости не появляется.

Да, есть такое, сталкивался, неоднократно.
Права доступа и права владельца правильные выстави.

example:
Код
chown -R hlds:hlds /home/hlds/server/*
chmod -R 777 /home/hlds/server/*

И будет тебе счастье.

Отредактировал: c0rax, - 27.11.2012, 10:28
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Predator.Cat
сообщение 27.11.2012, 12:14
Сообщение #92


Стаж: 15 лет

Сообщений: 251
Благодарностей: 33
Полезность: 119

c0rax, права владельца для hlds:hlds стоят рекурсивно для всего каталога /hlds. Причём периодически их перевыставляю после того, как что-нибудь закидываю в сервер от рута. А права доступа на каталог зачем нужны владельцу этого же каталога?
К тому же ставить 777 небезопасно. Это означает "чтение-запись-выполнение для всех".

Отредактировал: Predator.Cat, - 27.11.2012, 12:16
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя c0rax
сообщение 27.11.2012, 14:06
Сообщение #93


Стаж: 18 лет

Сообщений: 1077
Благодарностей: 530
Полезность: 884

Цитата(Predator.Cat @ 27.11.2012, 12:14) *
c0rax, права владельца для hlds:hlds стоят рекурсивно для всего каталога /hlds. Причём периодически их перевыставляю после того, как что-нибудь закидываю в сервер от рута. А права доступа на каталог зачем нужны владельцу этого же каталога?
К тому же ставить 777 небезопасно. Это означает "чтение-запись-выполнение для всех".

В моем случае, только так удалось избаывиться от этой ошибки.
Можешь правда попробовать 755

Отредактировал: c0rax, - 27.11.2012, 14:07
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Predator.Cat
сообщение 27.11.2012, 14:53
Сообщение #94


Стаж: 15 лет

Сообщений: 251
Благодарностей: 33
Полезность: 119

c0rax, 755 не помогло, 777, вроде бы, помогло, спасибо!

Очень и очень странно всё это. Не желают ли разработчики скрипта внести некоторую ясность в происходящее?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Predator.Cat
сообщение 30.11.2012, 20:42
Сообщение #95


Стаж: 15 лет

Сообщений: 251
Благодарностей: 33
Полезность: 119

Кстати, изменение прав доступа на 777 решило и проблему, описанную выше.

Отредактировал: Predator.Cat, - 30.11.2012, 20:44
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя IOzer
сообщение 21.1.2013, 4:22
Сообщение #96


Стаж: 17 лет

Сообщений: 38
Благодарностей: 2
Полезность: 43

На счёт приоритета так и не вкурсе никто как сделать?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
proaid
сообщение 10.2.2013, 13:57
Сообщение #97
Стаж: 13 лет

Сообщений: 99
Благодарностей: 3
Полезность: 0

Ребят чет у меня все ероглифами и я с linux связался недавно и не знаю что в данном скрипте отвечает и как бы не нопртачить не могли бы вы перевести его?
Скрытый текст
#!/bin/bash
# chkconfig: 2345 95 20
# description: HLDS Start Script
# Start HLDS Server
# processname: hlds
# author: LeXiKoN http://eqline.ru
# version: 0.98

# Source function library.
. /etc/rc.d/init.d/functions

VERSION=0.98

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

SERVER_NAME="My Server" #Название сервера
screen_name=server #Название screen-сессии
path="/home/hlds/server/" #Путь до ROOT-директории сервера
hlds_ip=0.0.0.0 #IP сервера
hlds_port=27015 #Порт сервера
hlds_gametype=cstrike #РўРёРї РёРіСЂС‹
hlds_players=20 #Максимальное количество игроков на сервере
hlds_map=de_inferno #Р?РјСЏ первоначальной карты РїСЂРё запуске
hlds_pid=server.pid
screen_pid=$screen_name-screen.pid
hlds_options="-pingboost 3 +exec server.cfg +log on" #Дополнительные параметры запуска
use_user=hlds #Р?РјСЏ юзера РѕС‚ которого запускается сервер
condebug=1
check_version=0
checker_command="quakestat" #Команда пакета qStat отвечающего за проверку сервера
restarttime=10 #Время после которого сервер будет перезагружен ( выводится в чат на сервере )

#----------------------------------------------------
# Номер ядра/процессора в линуксе
# 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" -eq 1 ]; then
hlds_options2="-condebug"
fi

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

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

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

start() {
if [ "$check_version" -eq 1 ]; then
check_version
fi
# Проверка престартовая
prestart_check
cd $path
# Запускаем сервер
$INTR sudo -u $use_user ./hlds_run -game $hlds_gametype +maxplayers $hlds_players +map $hlds_map +ip $hlds_ip +port $hlds_port $hlds_options $hlds_options2 -pidfile $hlds_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 "\t\033[1;35m Порт севрера:\033[0m \033[1;36m$hlds_port\033[0m\n"
printf "\t\033[1;35m РџСЂРёРІСЏР·РєР° Рє СЏРґСЂСѓ:\033[0m \033[1;36m$use_core\033[0m\n"
printf "\t\033[1;35m Запуск от юзера:\033[0m \033[1;36m$use_user\033[0m\n"
printf "\t\033[1;33m Статус: \033[0m"
sleep 1
if [ -f $path/$hlds_pid ] && [ -f $path/$screen_pid ]; then
ch=`ps -ef | grep SCREEN | grep $screen_name`
if [ -n "$ch" ]; then
printf "$succes\n"
else
printf "$failed\n"
fi
fi
}

stop() {
if [ "$check_version" -eq 1 ]; then
check_version
fi
if [ -f $path/$hlds_pid ] && [ -f $path/$screen_pid ]; then
# ЗаверС?аем КОРРЕКТНО сервер!!
printf "$title\033[1;31m Остановка $SERVER_NAME \033[0m"
/usr/bin/screen -R $screen_name -p 0 -X register . quit
/usr/bin/screen -R $screen_name -p 0 -X paste .
/usr/bin/screen -R $screen_name -p 0 -X stuff $'\n'
sleep 1
/usr/bin/screen -R $screen_name -X quit > /dev/null
sleep 1
rm -rf $path/$screen_pid
rm -rf $path/$hlds_pid
printf "$succes\n"

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

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

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

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

check_version() {
printf "$title\033[1;34m Проверка обновлений скрипта \033[0m\n"
cd $path
rm -f version.txt
wget http://eqline.ru/project/hlds_init_script/version.txt 1> /dev/null 2>&1
printf "\t Загрузка "
updcnt=3
while [ $updcnt -gt 0 ]; do
printf "."
let updcnt=updcnt-1
sleep 1
done
sleep 1
printf "\n"
for ver in `cat $path/version.txt`
do
if [ $VERSION \< $ver ]; then
printf "\t\033[1;31m Доступна новая версия скрипта ( $ver )\033[0m\n"
printf "\t\033[36m Подробнее на форуме eQline.ru: http://forum.eqline.ru \033[0m\n"
printf "\t\033[1;36m Ссылка: http://forum.eqline.ru/topic/361-СЃРєСЂРёР...ерверов/ \033[0m\n"
else
printf "\t\033[1;36m Р’Р°С?Р° версия является последней\033[0m \033[1;34m( Текущая версия: $VERSION ) \033[0m\n"
fi
break
done
rm -f version.txt
}

check_logsize() {
printf "$title\033[1;34m Проверка размера .log файлов \033[0m\n"
maxlogsize=10485760
if [ -f $path/checker.log ]; then
sizeCheckUP=`stat -c%s $path/checker.log`
printf "\t\033[1;36m Размер checker.log:\033[0m \033[1;35m $sizeCheckUP байт\033[0m\n"
if [ "$sizeCheckUP" -ge "$maxlogsize" ]; then
printf "\t\033[1;31m Очищаю файл checker.log\033[0m\n"
tail -n 50 $path/checker.log > $path/checker.temp
mv $path/checker.temp $path/checker.log
sleep 1
fi
else
printf "\t\033[1;31m Файл checker.log отсутствует\033[0m\n"
fi
if [ -f $path/cstrike/qconsole.log ]; then
sizeQconsole=`stat -c%s $path/cstrike/qconsole.log`
printf "\t\033[1;36m Размер qconsole.log:\033[0m \033[1;35m $sizeQconsole байт\033[0m\n"
if [ "$sizeQconsole" -ge "$maxlogsize" ]; then
printf "\033[1;31m Очищаю файл qconsole.log\033[0m\n"
tail -n 50 $path/cstrike/qconsole.log > $path/cstrike/qconsole.temp
mv $path/cstrike/qconsole.temp $path/cstrike/qconsole.log
sleep 1
fi
else
printf "\t\033[1;31m Файл qconsole.log отсутствует\033[0m\n"
fi
}

checker() {
checktag="[HLDS-CheckUP]"
checkresponse=`$checker_command -P -a2s $hlds_ip:$hlds_port | grep response`
if [ -n "$checkresponse" ]; then
printf "\033[1;37m$checktag\033[0m $SERVER_NAME \033[31m*[No response]*\033[0m\n"
# echo Отсылаем почту
cd $path
time=`date +%X`
date=`date +%D`
inlog=`$checker_command -P -a2s $hlds_ip:$hlds_port | grep response`
printf "[$time - $date] *[No response]* $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
checkdown=`$checker_command -P -a2s $hlds_ip:$hlds_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 $hlds_ip:$hlds_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 $hlds_ip:$hlds_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 $hlds_ip:$hlds_port | grep cstrike`
printf "[$time - $date] *[OK]* $inlog\n" >> checker.log
exit 1
fi
}

prerestart() {
if [ -f $path/$hlds_pid ] && [ -f $path/$screen_pid ]; then
printf "$title\033[1;31m Начинается отчет до рестарта $SERVER_NAME \033[0m\n\t"
cnt=$restarttime
while [ $cnt -gt 0 ]; do
/usr/bin/screen -R $screen_name -p 0 -X register . "say Server has been restart after $cnt seconds!"
/usr/bin/screen -R $screen_name -p 0 -X paste .
/usr/bin/screen -R $screen_name -p 0 -X stuff $'\n'
echo -en "\r\t Рестарт через $cnt сек"
let cnt=cnt-1
sleep 1
done

/usr/bin/screen -R $screen_name -p 0 -X register . "say ============================================="
/usr/bin/screen -R $screen_name -p 0 -X paste .
/usr/bin/screen -R $screen_name -p 0 -X stuff $'\n'

/usr/bin/screen -R $screen_name -p 0 -X register . "say [ SERVER SHUTTING DOWN ]"
/usr/bin/screen -R $screen_name -p 0 -X paste .
/usr/bin/screen -R $screen_name -p 0 -X stuff $'\n'

/usr/bin/screen -R $screen_name -p 0 -X register . "say ============================================="
/usr/bin/screen -R $screen_name -p 0 -X paste .
/usr/bin/screen -R $screen_name -p 0 -X stuff $'\n'

printf "$succes\n"
fi

}

case "$1" in
start)
check_logsize
start
;;
stop)
stop
;;
restart)
prerestart
sleep 2
stop
sleep 2
start
;;
status)
status
;;
console)
console
;;
compile)
compile
;;
update)
check_version
;;
checker)
checker
;;
logsize)
check_logsize
;;
*)
echo "Usage: $0 {start|stop|restart|status|console|compile|update|checker|logsize}"
exit 1
esac
exit 0
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя stonemct
сообщение 10.2.2013, 15:55
Сообщение #98
Стаж: 19 лет

Сообщений: 27
Благодарностей: 4
Полезность: 114

Цитата(proaid @ 10.2.2013, 15:57) *
Ребят чет у меня все ероглифами и я с linux связался недавно и не знаю что в данном скрипте отвечает и как бы не нопртачить не могли бы вы перевести его?
Скрытый текст
#!/bin/bash
# chkconfig: 2345 95 20
# description: HLDS Start Script
# Start HLDS Server
# processname: hlds
# author: LeXiKoN http://eqline.ru
# version: 0.98

# Source function library.
. /etc/rc.d/init.d/functions

VERSION=0.98

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

SERVER_NAME="My Server" #Название сервера
screen_name=server #Название screen-сессии
path="/home/hlds/server/" #Путь до ROOT-директории сервера
hlds_ip=0.0.0.0 #IP сервера
hlds_port=27015 #Порт сервера
hlds_gametype=cstrike #РўРёРї РёРіСЂС‹
hlds_players=20 #Максимальное количество игроков на сервере
hlds_map=de_inferno #Р?РјСЏ первоначальной карты РїСЂРё запуске
hlds_pid=server.pid
screen_pid=$screen_name-screen.pid
hlds_options="-pingboost 3 +exec server.cfg +log on" #Дополнительные параметры запуска
use_user=hlds #Р?РјСЏ юзера РѕС‚ которого запускается сервер
condebug=1
check_version=0
checker_command="quakestat" #Команда пакета qStat отвечающего за проверку сервера
restarttime=10 #Время после которого сервер будет перезагружен ( выводится в чат на сервере )

#----------------------------------------------------
# Номер ядра/процессора в линуксе
# 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" -eq 1 ]; then
hlds_options2="-condebug"
fi

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

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

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

start() {
if [ "$check_version" -eq 1 ]; then
check_version
fi
# Проверка престартовая
prestart_check
cd $path
# Запускаем сервер
$INTR sudo -u $use_user ./hlds_run -game $hlds_gametype +maxplayers $hlds_players +map $hlds_map +ip $hlds_ip +port $hlds_port $hlds_options $hlds_options2 -pidfile $hlds_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 "\t\033[1;35m Порт севрера:\033[0m \033[1;36m$hlds_port\033[0m\n"
printf "\t\033[1;35m РџСЂРёРІСЏР·РєР° Рє СЏРґСЂСѓ:\033[0m \033[1;36m$use_core\033[0m\n"
printf "\t\033[1;35m Запуск от юзера:\033[0m \033[1;36m$use_user\033[0m\n"
printf "\t\033[1;33m Статус: \033[0m"
sleep 1
if [ -f $path/$hlds_pid ] && [ -f $path/$screen_pid ]; then
ch=`ps -ef | grep SCREEN | grep $screen_name`
if [ -n "$ch" ]; then
printf "$succes\n"
else
printf "$failed\n"
fi
fi
}

stop() {
if [ "$check_version" -eq 1 ]; then
check_version
fi
if [ -f $path/$hlds_pid ] && [ -f $path/$screen_pid ]; then
# Завершаем КОРРЕКТНО сервер!!
printf "$title\033[1;31m Остановка $SERVER_NAME \033[0m"
/usr/bin/screen -R $screen_name -p 0 -X register . quit
/usr/bin/screen -R $screen_name -p 0 -X paste .
/usr/bin/screen -R $screen_name -p 0 -X stuff $'\n'
sleep 1
/usr/bin/screen -R $screen_name -X quit > /dev/null
sleep 1
rm -rf $path/$screen_pid
rm -rf $path/$hlds_pid
printf "$succes\n"

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

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

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

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

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

check_logsize() {
printf "$title\033[1;34m Проверка размера .log файлов \033[0m\n"
maxlogsize=10485760
if [ -f $path/checker.log ]; then
sizeCheckUP=`stat -c%s $path/checker.log`
printf "\t\033[1;36m Размер checker.log:\033[0m \033[1;35m $sizeCheckUP байт\033[0m\n"
if [ "$sizeCheckUP" -ge "$maxlogsize" ]; then
printf "\t\033[1;31m Очищаю файл checker.log\033[0m\n"
tail -n 50 $path/checker.log > $path/checker.temp
mv $path/checker.temp $path/checker.log
sleep 1
fi
else
printf "\t\033[1;31m Файл checker.log отсутствует\033[0m\n"
fi
if [ -f $path/cstrike/qconsole.log ]; then
sizeQconsole=`stat -c%s $path/cstrike/qconsole.log`
printf "\t\033[1;36m Размер qconsole.log:\033[0m \033[1;35m $sizeQconsole байт\033[0m\n"
if [ "$sizeQconsole" -ge "$maxlogsize" ]; then
printf "\033[1;31m Очищаю файл qconsole.log\033[0m\n"
tail -n 50 $path/cstrike/qconsole.log > $path/cstrike/qconsole.temp
mv $path/cstrike/qconsole.temp $path/cstrike/qconsole.log
sleep 1
fi
else
printf "\t\033[1;31m Файл qconsole.log отсутствует\033[0m\n"
fi
}

checker() {
checktag="[HLDS-CheckUP]"
checkresponse=`$checker_command -P -a2s $hlds_ip:$hlds_port | grep response`
if [ -n "$checkresponse" ]; then
printf "\033[1;37m$checktag\033[0m $SERVER_NAME \033[31m*[No response]*\033[0m\n"
# echo Отсылаем почту
cd $path
time=`date +%X`
date=`date +%D`
inlog=`$checker_command -P -a2s $hlds_ip:$hlds_port | grep response`
printf "[$time - $date] *[No response]* $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
checkdown=`$checker_command -P -a2s $hlds_ip:$hlds_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 $hlds_ip:$hlds_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 $hlds_ip:$hlds_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 $hlds_ip:$hlds_port | grep cstrike`
printf "[$time - $date] *[OK]* $inlog\n" >> checker.log
exit 1
fi
}

prerestart() {
if [ -f $path/$hlds_pid ] && [ -f $path/$screen_pid ]; then
printf "$title\033[1;31m Начинается отчет до рестарта $SERVER_NAME \033[0m\n\t"
cnt=$restarttime
while [ $cnt -gt 0 ]; do
/usr/bin/screen -R $screen_name -p 0 -X register . "say Server has been restart after $cnt seconds!"
/usr/bin/screen -R $screen_name -p 0 -X paste .
/usr/bin/screen -R $screen_name -p 0 -X stuff $'\n'
echo -en "\r\t Рестарт через $cnt сек"
let cnt=cnt-1
sleep 1
done

/usr/bin/screen -R $screen_name -p 0 -X register . "say ============================================="
/usr/bin/screen -R $screen_name -p 0 -X paste .
/usr/bin/screen -R $screen_name -p 0 -X stuff $'\n'

/usr/bin/screen -R $screen_name -p 0 -X register . "say [ SERVER SHUTTING DOWN ]"
/usr/bin/screen -R $screen_name -p 0 -X paste .
/usr/bin/screen -R $screen_name -p 0 -X stuff $'\n'

/usr/bin/screen -R $screen_name -p 0 -X register . "say ============================================="
/usr/bin/screen -R $screen_name -p 0 -X paste .
/usr/bin/screen -R $screen_name -p 0 -X stuff $'\n'

printf "$succes\n"
fi

}

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



не в той кодировке открыл
тебе надо добыть прогу notepad++ и в ней открыть файл и сохранить в кодировке UTF
c другой стороны это в соновном комментарии так что можно их опустить скрипт будет все равно работать

Отредактировал: stonemct, - 10.2.2013, 15:55
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя mclaren
сообщение 23.2.2013, 19:28
Сообщение #99


Стаж: 19 лет

Сообщений: 307
Благодарностей: 25
Полезность: 86

Цитата(IOzer @ 21.1.2013, 4:22) *
На счёт приоритета так и не вкурсе никто как сделать?

То же согласен.
Функцию изменения приоритета как добавить?


Смотрю через htop, странно, запускаю по скрипту, а показывает 6 процессов. Какой из них я хз, что бы nice прибваить. В общем ни кто еще не сделал приоритет?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Breakt
сообщение 14.1.2014, 11:35
Сообщение #100


Стаж: 16 лет

Сообщений: 149
Благодарностей: 15
Полезность: 88

На CSGO скрипт можно переделать?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
8 страниц V  « 4 5 6 7 »
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: