Здравствуйте!Ubuntu server 8.10
Steam hlds serverПишу скрипт для запуска/останова КС-сервера.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/games/hlds_cw
port=27015cd /usr/games/hlds_cw
hlds_start()
{
/usr/bin/screen -d -m -S hlds_p${port} ./hlds_run -game cstrike +ip xxx.xxx.xxx.xxx +port ${port} +sv_lan 0 -nomaster +maxplayers 18 +map de_dust2 -autoupdate
/usr/bin/screen -d -S hltv ./hltv +connect xxx.xxx.xxx.xxx:${port} -port 27020
}hlds_stop()
{
/usr/bin/screen -r hltv -X quit
/usr/bin/screen -r hlds_p${port} -X quit
}case "$1" in
start)
hlds_start
;;
stop)
hlds_stop
;;
restart)
hlds_start
hlds_stop
;;
*)
echo "USAGE $0 {start|stop|restart}"
exit 1
esacБеда в том, что hltv никак не хочет работать:
Console initialized.
FileSystem initialized.
Error:libsteam_api_c_linux.so: cannot open shared object file: No such file or directory
...Если запустить без скрина, тупо командой
./hltv +connect xxx.xxx.xxx.xxx:${port} -port 27020
то здесь два варианта развития:
1. если переменная окружения LD_LIBRARY_PATH установлена в /usr/games/hlds_cw, то все норм;
2. если переменная окружения LD_LIBRARY_PATH не содержит /usr/games/hlds_cw, то таже ошибка;Стало быть вопрос в следующем - как в screen-окружении выставить переменную окружения LD_LIBRARY_PATH?
видимо вот так, в screenrcsetenv [var [string]]
Set the environment variable var to value string. If only var is specified, the user will be prompted to enter a value. If no parameters
are specified, the user will be prompted for both variable and value. The environment is inherited by all subsequently forked shells.
>[оверквотинг удален]
>
>setenv [var [string]]
>
> Set the environment
>variable var to value string. If only var is specified,
>the user will be prompted to enter a value. If
>no parameters
> are specified, the user will
>be prompted for both variable and value. The environment is inherited
>by all subsequently forked shells.Дело говорите! Помогло. Ушел учиться читать маны...
Спасибо.