URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 92834
[ Назад ]

Исходное сообщение
"FreeBSD Quake 2 OSP"

Отправлено Confirm , 04-Янв-12 02:40 
Здраствуйте!

Возникла проблема с запуском Quake 2 OSP Tourney server.

Исходные данные:
1. FreeBSD 6.4
2. Установленная linux_base-fc-4_13 (бинарная совместимость с линуксом)
3.Куча перепробованных дистрибов кваки2 (как фрибсдшные,так и линуксовые):
q2ded
q2pro
q2proded
r1q2
r1q2ded
r1q2ded-old
quake2
4.Стартовый скрипт запуска сервера кваки2:
#Simple DM Quake2 server(without any mods)
#!/bin/sh
echo "Starting Q2 DM Server..."
/usr/local/bin/r1q2ded +exec q2config.cfg +set dedicated 1 +set deathmatch 1 +set cheats 0 +map q2dm1 > /dev/null 2>&1 &
echo "OK"
5. freebsd# ls -la /usr/local/share/quake2
total 2446
drwxr-xr-x    7 root   wheel      512 Jan  3 18:58 .
drwxr-xr-x  101 root   wheel     2048 Dec 28 09:39 ..
drwxr-sr-x    4 alex   ftp        512 Jun 10  1999 NetGamesUSA.com
drwxr-xr-x    8 root   wheel      512 Jan  3 14:12 baseq2
drwxr-xr-x    4 ftp    ftp        512 May 23  2011 eraser
drwxr-xr-x    3 ftp    ftp        512 May 23  2011 matrix
drwxr-sr-x   14 quake  quake     1024 Jan  3 19:47 tourney

Если запускать кваку таким скриптом она стартует как обычный дефматч, т.е. просто без статистики,голосований и прочих прелестей.Изучено много манов,раскурено много форумов, но я так и не понял почему у меня строчки:
/usr/local/bin/q2proded +set dedicated 1 +exec dmonly.cfg +game tourney +set net_port 27910
Или
/usr/local/bin/quake2 +set game tourney +exec dmonly.cfg +set dedicated 1 +set deathmatch 1
Обе не обрабатываются как надо, пробовал по всякому, комбинировал со всеми вышеперчисленными дистрибами, результата нет. Опишу что в таком случае происходит. Конфиг во всех случаях подхватывается судя по событиям в игре, а все остальное остается как в обычном ДМ, я так понял что ни один из дистрибов не умеет почему-то обрабатывать gamei386.so, который лежит в папке tourney и необходим для нормальной игры, все они обращаются к файлу game.so в baseq2.Погуляв маленько по форумам один человек написал о том что можно скачать уже скомпиленый бинарник r1q2ded-old, который как раз есть у меня в списке, скачал – и действительно все как надо запустилось, но есть одно НО… Когда пользователь входит в игру и предлагает голосовать за добавление ботов возникает Segmentation fault и сервер вываливается, что не радует.Ясно что решение кривое и надо искать другое…
Вопрос у меня такой: как заставить, например тот же самый q2proded подхватывать библиотеку /usr/local/share/quake2/ tourney/gamei386.so вместо /usr/local/share/quake2/baseq2/game.so?Может что-то по-другому пересобрать?
Так я запускал r1q2ded-old, который глючно, но работает:
#!/bin/sh
echo "Starting OSP Server..."
cd /usr/local/share/quake2
/usr/local/bin/ r1q2ded-old +set game tourney +exec dmonly.cfg +set dedicated 1 +set deathmatch 1
echo "OK"

========================================================================================

Итак,поехали.Запускаю скрипт следующего содержания:
#!/bin/sh
echo "Starting OSP Server..."
cd /usr/local/share/quake2
/usr/local/bin/quake2 +set game tourney +exec dmonly.cfg +set dedicated 1 +set deathmatch 1
echo "OK"
На косоль выдает:
Starting OSP Server...
Quake 2 -- Version 3.21+r0.16.2
Added packfile /usr/local/share/quake2/baseq2/pak0.pak (3307 files)
Added packfile /usr/local/share/quake2/baseq2/pak1.pak (279 files)
Added packfile /usr/local/share/quake2/baseq2/pak2.pak (2 files)
Added packfile ./baseq2/pak0.pak (3307 files)
Added packfile ./baseq2/pak1.pak (279 files)
Added packfile ./baseq2/pak2.pak (2 files)
using /home/quake/.quake2/baseq2/ for writing
Added packfile /usr/local/share/quake2/tourney/pak7.pak (121 files)
Added packfile /usr/local/lib/quake2lnx/tourney/pak7.pak (121 files)
Added packfile ./tourney/pak7.pak (121 files)
using /home/quake/.quake2/tourney/ for writing
execing default.cfg
execing config.cfg
====== Quake2 Initialized ======

execing dmonly.cfg
------- Loading game.so -------
==== InitGame ====
------- Server Initialization -------
0 entities inhibited
0 teams with 0 entities
-------------------------------------
Как видите подцепляет библиотеку game.so вместо нужной gamei386.so,и примерно так же с остальными бинарниками.
Запускам скрипт такого содержания:
#!/bin/sh
echo "Starting OSP Server..."
cd /usr/local/share/quake2
/usr/local/bin/r1q2ded-old +set game tourney +exec dmonly.cfg +set dedicated 1 +set deathmatch 1
echo "OK"
На консоли получаем:
Starting OSP Server...
Added packfile ./baseq2/pak0.pak (3307 files)
Added packfile ./baseq2/pak1.pak (279 files)
Added packfile ./baseq2/pak2.pak (2 files)
Added packfile ./tourney/pak7.pak (121 files)
execing default.cfg
execing config.cfg
====== Quake2 Initialized ======
R1Q2 build 7864, compiled Oct  1 2008.
http://www.r1ch.net/stuff/r1q2/
Linux i386 (/usr/local/bin/r1q2ded-old)

execing dmonly.cfg
UDP_OpenSocket: Couldn't set IP_RECVERR: Protocol not available
------- Loading gamei386.so -------
Loaded Game DLL, version 3
==== InitGame ====
Loading maps from "mapcfg/dmmaps.txt"
Client high scoring enabled!
Mode: *** REGULAR DEATHMATCH ***

Client voting enabled!
Proposal time: 45s, Threshold: 51%


Loading player DENY list from: "players.txt"
0 player names found.

5 server configs found:
- my_1v1.cfg
- my_team.cfg
- my_dmonly.cfg
- my_instadm.cfg
- my_lithium.cfg
** Default config is: dmonly.cfg

OSP Tourney DM v(2.5)
01 Jul 99
rhea@ittc.ukans.edu

=============================
Gladiator Bot by Mr Elusive
=============================

------- Server Initialization -------
Loading map: q2dm1
High scores loaded.
MOTD: Reading from "motd/dmmotd.txt"
0 entities inhibited
0 teams with 0 entities
ngLog logging disabled.
*** Couldn't create ngWorldStats logfile ./NetGamesUSA.com/ngWorldStats/logs/Q2_tourney-2012.01.04.02.34.08.267.-0.0.27910.tmp: 0
ngWorldStats logging disabled.
[ SERVERTIME (port 27910) : Wed Jan  4 02:34:08 ]
-------------------------------------
Вот это именно тот вывод что нужно получить, обращаю внимание что подхватывается библиотека gamei386.so тут все как надо.Но как заставить q2proded вести себя так же
Буду очень признателен за помощ,могу даже права дать залезть на сервак(для тех,кому проще сделать,чем объяснить;) )


Содержание

Сообщения в этом обсуждении
"FreeBSD Quake 2 OSP"
Отправлено universite , 07-Янв-12 05:50 
> Здраствуйте!
> Возникла проблема с запуском Quake 2 OSP Tourney server.

Вдумчиво прочтите http://www.lissyara.su/articles/freebsd/games/quake_3_arena/
И потом применините к Q2