Unable to start server on port: 7777. Port in use?
#21

Да то что процессов два это нормально. Если на винде работает, а на линуксе нет значит скорее всего ошибка в моде или в плагине/использование его

Quote:

попробовал покилить samp-npc и announce..вот что пишет

Эти процессы скорее всего выгрузились но не полностью...
Reply
#22

не думаю что проблема в моде
Quote:
Originally Posted by On1xS
View Post
Эти процессы скорее всего выгрузились но не полностью...
хм..в последний раз когда серв завис,проследил,что одного из двух samp03srv нет в списке,поэтому скорее всего он и пингуется..но что делать до сих пор остается мне неясным
Reply
#23

WILD33, ну значит без -p использовать, раз такую опцию он не поддерживает:
Code:
netstat -an | grep 7777
Потом, если процесс совсем повис, то его можно срубить через:
Code:
kill -9 <pid>
И по поводу нескольких процессов. Ядро линукса устроено так, что процессы и нитки (threads) это по сути одно и тоже (и даже создаются одним системным вызовом, просто правила использования памяти разные). Самп работает минимум в два потока в линуксе (один сетевой от RakNet, второй павн, плагины), поэтому есть вероятность, что некоторые утилиты показывают pid просто двух потоков одного процесса.
У меня на Debian Lenny top по умолчанию показывает список процессов, но если нажать Shift+h, то будет показывать список нитей. Так что нужно быть поаккуратней с этим.
Reply
#24

Code:
netstat: kvm not available: /dev/mem: No such file or directory
udp4       0      0 *.7777                 *.*
по поводу двух потоков спасибо за разъяснение)))собственно это конечно всё понятно,что если повис процесс можно его убить..но проблема с портами как я понял решена(потому что при зависании сервера в логах про них ничего нет),но появляется другая..если сервер будет виснуть каждые 5минут,получается мне придется каждые 5минут до конца килить процесс и заново включать серв,что вообще не вариант)
серв в основном включается у меня автоматически при падении,делаю это через nohup ./start.sh & (в файле start.sh приписываю две строчки)
Code:
./samp03svr 
./start.sh
собственно,если сервер повис,то можно также автоматизировать его полное отключение?
Reply
#25

я могу не до конца понять смысл сказанного, но по примеру кажись ты сам и запускаешь несколько процессов серва, запуская скрипт, который запускает себя еще раз
Reply
#26

не думаю,на 0.3а и 0.2х всё было путем,запускал также..сейчас запускаю через ./samp03svr & именно из за непоняток
ЗЫ что через start.sh что через ./samp03svr & сервер ведёт себя одинаково
Reply
#27

Quote:
Originally Posted by WILD33
View Post
не думаю,на 0.3а и 0.2х всё было путем,запускал также..сейчас запускаю через ./samp03svr & именно из за непоняток
ЗЫ что через start.sh что через ./samp03svr & сервер ведёт себя одинаково
предлагаю тебе вот такой вот проверенный временем вариант.. скрипт я назвал "samp03WatchingScript.sh". В папке серва должна быть папка "logs", туда будут складываться архивы логов..

Code:
#!/bin/sh

serverLog="server_log.txt"
bin="./samp03svr"

dat=`date`

cd /указываем/тут/папку/серва

while true; do
	mv ./${serverLog} ./logs/${serverLog}.`date '+%m%d%y%H%M%S'`
	echo "${dat} running sa-mp 0.3 server..." >> ${serverLog}
	${bin} >> ${serverLog}
	echo "${dat} sa-mp 0.3 server stoped, restarting..." >> ${serverLog}
	sleep 3
done
создаем скрипт, который у нас будет являться сервисом и будет лежать в папке "/etc/rc.d/init.d"

Code:
#!/bin/bash
#chkconfig: 234 60 50
#description: SA-MP 0.3 Server


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

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0


server_start() {
	/путь/к/скрипту/samp03WatchingScript.sh & # put in full path and name of startup script
}

server_stop() {
	killall samp03WatchingScript.sh # your startup script name
	killall samp03svr # need to put in path to killall if its not in $PATH
#	killall samp-npc # need to put in path to killall if its not in $PATH
}

server_restart() {
	server_stop
	sleep 1
	server_start
}


# See how we were called.
case "$1" in
	'start')
		server_start
	;;
	'stop')
		server_stop
	;;
	'restart')
		server_restart
	;;
	*)
		echo "usage $0 start|stop|restart"
		exit 0
esac

exit 1
ну и стессна, надо добавить сервис в автозагрузку и запустить его
Reply
#28

запустил серв через samp03WatchingScript.sh,серв повис,в процессах два samp03srv
при выгрузке вручную,самп запустился сам,что уже прогресс
PS погуглив,нашёл инфу о том,что возможно проблемы в железе,такое возможно?
Reply


Forum Jump:


Users browsing this thread: 5 Guest(s)