Форум программистов, компьютерный форум, киберфорум
С++ под Linux
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 15.09.2017
Сообщений: 3
1

Подключение библиотеки .so к игровому серверу

15.09.2017, 17:16. Показов 978. Ответов 4
Метки нет (Все метки)

Привет знатоки! Проблема такая, занимаюсь сервером одной из игр, исходников открытых у нее нет, выживаем как можем.
Так вот: что бы поменять какие-то функции в gameserver`e игры умельцы создали библиотеку LCExtend.so. Все это дело стоит на CentOS 6. Эта самая библиотека, точно знаю, помещается в одной папке на сервере с GameServer. Запуск гейм сервера происходит через запуск файлика "run2", вот собсна его содержимое:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/sh
 
while ( : ) do
        DATE=`date`
        if [ -r .shutdown ]; then
                rm -f .shutdown
        fi
 
 
        #cp ../new/*tar.gz ./data
        #cd data
        #tar -xzf *tar.gz
        #rm *tar.gz
        #cd ..
 
        #cp ../new/GameServer_d .
    #gdb --batch --command=cmd ./GameServer_d > "bt_`date +%y%m%d%H%M%S`.log"
        #mv memdump "dump_`date +%y%m%d%H%M%S`.log"
        ./GameServer_d
 
        DATE2=`date`
        if [ -r .shutdown ]; then
                echo "***** Shutdown $DATE ~ $DATE2" >> rebootlog
                exit
        fi
 
        echo "!!!!! Reboot $DATE ~ $DATE2" >> rebootlog
        sleep 2
done
Мне нужно сделать так, чтобы GameServer читал из этой динамической библиотеки данные. Или запускался через нее. Но в силу своей не грамотности в этом деле, не знаю как это воплотить. Знаю что запуск точно прописывается в этом куске кода (файлике "run2") Надеюсь правильно вопрос сформулировал. Заранее спасибо за помощь.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.09.2017, 17:16
Ответы с готовыми решениями:

Подключение к удаленному серверу
if (connect(sock , (struct sockaddr *)&server , sizeof(server)) < 0) { cout<<"ddd"; ...

Подключение библиотеки Qt
Как подключить библиотеку Qt? Например я хочу включить QtCore в свой проект. #include <QtCore>...

Подключение библиотеки
Здраствуйте. Как мне подключить библиотеку к проекту только 1 раз. тоесть есть у меня 4 срр файла...

Подключение библиотеки в g++
Оговорюсь, пишу на эмоциях, так как уже нервов не хватает на все это. ...

__________________

Записывайтесь на профессиональные курсы C++ разработчиков
4
499 / 349 / 93
Регистрация: 22.03.2011
Сообщений: 1,111
15.09.2017, 17:23 2
Лучший ответ Сообщение было отмечено Vladislav131 как решение

Решение

Предполагаю что LCExtend.so нету в зависимостях?, тогда LD_PRELOAD
Bash
1
LD_PRELOAD=./LCExtend.so ./GameServer_d
0
0 / 0 / 0
Регистрация: 15.09.2017
Сообщений: 3
15.09.2017, 17:27  [ТС] 3
Да, именно что-то такое и было, а в какую часть кода?
0
499 / 349 / 93
Регистрация: 22.03.2011
Сообщений: 1,111
15.09.2017, 18:29 4
Строка 19.
0
0 / 0 / 0
Регистрация: 15.09.2017
Сообщений: 3
15.09.2017, 18:57  [ТС] 5
Добавил перед строкой 16, все работает. Спасибо за помощь!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.09.2017, 18:57

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Connect к игровому серверу по IP
напишите кто нибудь пожалуйста код программы показывающей коннект к ip указанному,то есть есть ли...

Предоставление доступа к игровому серверу через статический IP
Помогите тупому)) Я не специалист в сетях. Арендовал static IP. Запустил игровой сервер: "например...

Как открыть порт для подключения к игровому серверу?
Мне нужно открыть порт, чтобы мой друг мог подключится на мой игровой сервер.

Как настроить доступ к игровому серверу CS 1.6 для двух локальных сетей
Добрый день, есть 2 локальные сети соединенные как показано на схеме. Задача создать 1 сервер CS...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.