Не стартует Counter-Strike: Global Offensive

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
criminalist
мл. сержант
Сообщения: 74
Зарегистрирован: 2010-02-01 19:56:15

Не стартует Counter-Strike: Global Offensive

Непрочитанное сообщение criminalist » 2012-05-19 4:40:47

Всем привет, не так давно разработчики новой Counter-Strike: Global Offensive выложили в общее пользование сервера, доступ только для тех у кого есть бета версия игры.
И так сама суть, есть скрипт steam.sh в инструкции по установки и запуску написано

Запуск SteamCmd

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

Linux: STEAMEXE=steamcmd ./steam.sh
Программа будет автоматически обновлена и будет выведена строка с надписью . Введите help для более подробной информации.

Необходимо залогиниться в аккаунт стим

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

steam>login username password
сам скрипт steam.sh

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

#!/bin/bash

# figure out the absolute path to the script being run a bit
# non-obvious, the ${0%/*} pulls the path out of $0, cd's into the
# specified directory, then uses $PWD to figure out where that
# directory lives - and all this in a subshell, so we don't affect
# $PWD

STEAMROOT=$(cd "${0%/*}" && echo $PWD)

#determine platform
UNAME=`uname`
if [ "$UNAME" == "Linux" ]; then
   PLATFORM=linux32
   # prepend our lib path to LD_LIBRARY_PATH
   export LD_LIBRARY_PATH="${STEAMROOT}"/${PLATFORM}:$LD_LIBRARY_PATH
else # if [ "$UNAME" == "Darwin" ]; then
   PLATFORM=osx32
   # prepend our lib path to LD_LIBRARY_PATH
   export DYLD_LIBRARY_PATH="${STEAMROOT}"/${PLATFORM}:$DYLD_LIBRARY_PATH
   # make sure our architecture is sane
   ARCH=`arch`
   case "$ARCH" in
      ppc* )
	    osascript -e 'tell application "Dock" 
			display dialog "Steam is only supported on Intel-based Macs." buttons "Exit" default button 1 with title "Unsupported Architecture" with icon stop
			activate
			end tell'
		exit -1
	  ;;
   esac
   # make sure we're running >= 10.5.0
   OSXVER=`sw_vers -productVersion`
   case "$OSXVER" in
      10.0.* | 10.1.* | 10.2.* | 10.3.* | 10.4.* )
	    osascript -e 'tell application "Dock" 
			display dialog "Steam Requires OSX 10.5 or greater" buttons "Exit" default button 1 with title "Unsupported Operating System" with icon stop
			activate
			end tell'
		exit -1
	  ;;
   esac  
fi

if [ -z $STEAMEXE ]; then
  STEAMEXE=steam
fi

ulimit -n 2048

# and launch steam
cd "$STEAMROOT"

STATUS=42
while [ $STATUS -eq 42 ]; do
	${DEBUGGER} "${STEAMROOT}"/${PLATFORM}/${STEAMEXE} "$@"
	STATUS=$?
	# are we running osx?
	if [ $STATUS -eq 42 -a ${PLATFORM} == "osx32" -a -f Info.plist ]; then
		# are we running from in a bundle?
		exec open "${STEAMROOT}"/../..
	fi
done
exit $STATUS
в итоге получается при запуске

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

STEAMEXE=steamcmd ./steam.sh 

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

$ STEAMEXE=steamcmd sh steam.sh
cd: can't cd to steam.sh
[: FreeBSD: unexpected operator
arch: not found
sw_vers: not found
steam.sh: /osx32/steamcmd: not found
[: osx32: unexpected operator
Из самого скрипта я понял что он определяет фряху как MAC OS, если ошибаюсь поправьте.
Кто разбирается в bash гляньте можно поравить или нет сам скрипт для того что бы распозновался как Linux и в нормальном режиме запускался установшик. спс

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

Аватара пользователя
Electronik
капитан
Сообщения: 1593
Зарегистрирован: 2008-11-15 17:32:56
Откуда: Минск
Контактная информация:

Re: Не стартует Counter-Strike: Global Offensive

Непрочитанное сообщение Electronik » 2012-05-20 4:26:58

он определяет что у Вас не линукс, а следовательно MacOS, т.к других определений осей нет.
У Вас bash стоит?
Есть ли symlink сюда /bin/bash?
где то ошибка в скрипте, т.к он пытается сделать cd в сам скрипт, о чём говорит

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

cd: can't cd to steam.sh
и скорее всего нужно переписывать скрипт и делать через эмуляцию Linux.
Почитайте эти статьи http://www.lissyara.su/articles/freebsd/games/
что бы примерно понимать куда копать.
Предскажем будущее hw по логам и дампу, снимем сглаз и порчу с рута, поможем придумать пароль(С)
Блог

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

Re: Не стартует Counter-Strike: Global Offensive

Непрочитанное сообщение criminalist » 2012-05-20 7:00:34

Спс за ответ, я уже разобрался со скриптом тупо в секцию else скопировал кусок из секции if тоесть если ни линукс значит линукс ) и все заработало.

sem174
проходил мимо
Сообщения: 2
Зарегистрирован: 2012-07-22 0:46:03

Re: Не стартует Counter-Strike: Global Offensive

Непрочитанное сообщение sem174 » 2012-07-22 0:48:52

Уважаемый criminalist, не могли бы Вы запостить в этой теме исправленный вами steam.sh ?
Столкнулся с такой же проблемой, но правильно отредактировать скрипт не смог. А в FreeBSD я совсем новичок. Но запустить сервер хотелось бы попробовать.

pom
рядовой
Сообщения: 14
Зарегистрирован: 2010-12-31 15:08:44

Re: Не стартует Counter-Strike: Global Offensive

Непрочитанное сообщение pom » 2012-08-17 13:49:40

sem174 сохрани код в steambsd.sh (ну или любое название по вкусу, обновление затирает измененный скрипт steam.sh и его каждый раз править надо! Это уже после обновления, он немного другой, так что если что делай аналогично.
#!/bin/bash

# figure out the absolute path to the script being run a bit
# non-obvious, the ${0%/*} pulls the path out of $0, cd's into the
# specified directory, then uses $PWD to figure out where that
# directory lives - and all this in a subshell, so we don't affect
# $PWD

STEAMROOT=$(cd "${0%/*}" && echo $PWD)
if [ -z $STEAMEXE ]; then
STEAMEXE=steamcmd
fi


#determine platform
UNAME=`uname`
if [ "$UNAME" == "Linux" ]; then
PLATFORM=linux32
# prepend our lib path to LD_LIBRARY_PATH
export LD_LIBRARY_PATH="${STEAMROOT}"/${PLATFORM}:$LD_LIBRARY_PATH
PATHLINK=~/.steampath
rm -f ${PATHLINK} && ln -s ${STEAMROOT}/${PLATFORM}/${STEAMEXE} ${PATHLINK}
PIDFILE=~/.steampid
echo $$ > ~/.steampid
else # if [ "$UNAME" == "FreeBSD" ]; then
PLATFORM=linux32
# prepend our lib path to LD_LIBRARY_PATH
export LD_LIBRARY_PATH="${STEAMROOT}"/${PLATFORM}:$LD_LIBRARY_PATH
PATHLINK=~/.steampath
rm -f ${PATHLINK} && ln -s ${STEAMROOT}/${PLATFORM}/${STEAMEXE} ${PATHLINK}
PIDFILE=~/.steampid
echo $$ > ~/.steampid

fi

ulimit -n 2048

# and launch steam
cd "$STEAMROOT"

STATUS=42
while [ $STATUS -eq 42 ]; do
${DEBUGGER} "${STEAMROOT}"/${PLATFORM}/${STEAMEXE} "$@"
STATUS=$?
# are we running osx?
if [ $STATUS -eq 42 -a ${PLATFORM} == "osx32" -a -f Info.plist ]; then
# are we running from in a bundle?
exec open "${STEAMROOT}"/../..
fi
done
exit $STATUS
Изменения выделил жирным.
Запуск соответственно
>bash ./steambsd.sh

sem174
проходил мимо
Сообщения: 2
Зарегистрирован: 2012-07-22 0:46:03

Re: Не стартует Counter-Strike: Global Offensive

Непрочитанное сообщение sem174 » 2012-08-23 0:00:53

pom писал(а):sem174 сохрани код в steambsd.sh (ну или любое название по вкусу, обновление затирает измененный скрипт steam.sh и его каждый раз править надо! Это уже после обновления, он немного другой, так что если что делай аналогично.
#!/bin/bash

# figure out the absolute path to the script being run a bit
# non-obvious, the ${0%/*} pulls the path out of $0, cd's into the
# specified directory, then uses $PWD to figure out where that
# directory lives - and all this in a subshell, so we don't affect
# $PWD

STEAMROOT=$(cd "${0%/*}" && echo $PWD)
if [ -z $STEAMEXE ]; then
STEAMEXE=steamcmd
fi


#determine platform
UNAME=`uname`
if [ "$UNAME" == "Linux" ]; then
PLATFORM=linux32
# prepend our lib path to LD_LIBRARY_PATH
export LD_LIBRARY_PATH="${STEAMROOT}"/${PLATFORM}:$LD_LIBRARY_PATH
PATHLINK=~/.steampath
rm -f ${PATHLINK} && ln -s ${STEAMROOT}/${PLATFORM}/${STEAMEXE} ${PATHLINK}
PIDFILE=~/.steampid
echo $$ > ~/.steampid
else # if [ "$UNAME" == "FreeBSD" ]; then
PLATFORM=linux32
# prepend our lib path to LD_LIBRARY_PATH
export LD_LIBRARY_PATH="${STEAMROOT}"/${PLATFORM}:$LD_LIBRARY_PATH
PATHLINK=~/.steampath
rm -f ${PATHLINK} && ln -s ${STEAMROOT}/${PLATFORM}/${STEAMEXE} ${PATHLINK}
PIDFILE=~/.steampid
echo $$ > ~/.steampid

fi

ulimit -n 2048

# and launch steam
cd "$STEAMROOT"

STATUS=42
while [ $STATUS -eq 42 ]; do
${DEBUGGER} "${STEAMROOT}"/${PLATFORM}/${STEAMEXE} "$@"
STATUS=$?
# are we running osx?
if [ $STATUS -eq 42 -a ${PLATFORM} == "osx32" -a -f Info.plist ]; then
# are we running from in a bundle?
exec open "${STEAMROOT}"/../..
fi
done
exit $STATUS
Изменения выделил жирным.
Запуск соответственно
>bash ./steambsd.sh
Спасибо, тогда справился сам. Но вот зашел проверить свой пост и увидел ответ.
Ещё раз спасибо за помощь, может не мне, но кому нибудь ещё будет полезно.