FreeBSD Quake 2 OSP проблема

FreeBSD, NetBSD, OpenBSD, DragonFly и т. д.

Модератор: arachnid

Ответить
levitan
Сообщения: 2

FreeBSD Quake 2 OSP проблема

Сообщение levitan »

Здраствуйте!

Возникла проблема с запуском 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"
Спасибо сказали:
levitan
Сообщения: 2

Re: FreeBSD Quake 2 OSP проблема

Сообщение levitan »

Извиняюсь за даблпостинг, но разделю чтобы не нагружать сообщения...

Итак,поехали.Запускаю скрипт следующего содержания:
#!/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 [b]game.so[/b] -------
==== 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 [b]gamei386.so[/b] -------
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 вести себя так же
Спасибо сказали:
Ответить