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

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

Добавлено: 2012-05-19 4:40:47
criminalist
Всем привет, не так давно разработчики новой 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 и в нормальном режиме запускался установшик. спс

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

Добавлено: 2012-05-20 4:26:58
Electronik
он определяет что у Вас не линукс, а следовательно MacOS, т.к других определений осей нет.
У Вас bash стоит?
Есть ли symlink сюда /bin/bash?
где то ошибка в скрипте, т.к он пытается сделать cd в сам скрипт, о чём говорит

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

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

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

Добавлено: 2012-05-20 7:00:34
criminalist
Спс за ответ, я уже разобрался со скриптом тупо в секцию else скопировал кусок из секции if тоесть если ни линукс значит линукс ) и все заработало.

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

Добавлено: 2012-07-22 0:48:52
sem174
Уважаемый criminalist, не могли бы Вы запостить в этой теме исправленный вами steam.sh ?
Столкнулся с такой же проблемой, но правильно отредактировать скрипт не смог. А в FreeBSD я совсем новичок. Но запустить сервер хотелось бы попробовать.

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

Добавлено: 2012-08-17 13:49:40
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

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

Добавлено: 2012-08-23 0:00:53
sem174
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
Спасибо, тогда справился сам. Но вот зашел проверить свой пост и увидел ответ.
Ещё раз спасибо за помощь, может не мне, но кому нибудь ещё будет полезно.