Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

MySQL w DB na plikach Terenzo Game 34083


root MeCa

Rekomendowane odpowiedzi

Opublikowano

~

R

~

E

~

K

~

L

~

A

~

M

~

A

 

 

 

 

Pokaże Wam jak zrobić, żeby item_proto, mob_proto było czytane standardowo z tabelek mysql bo jak wiecie w tym game standardowo czyta z plików txt w /db. Temat tworze ze względu na to, że sporo osób ma z tym problem mimo, że był już podobny poradnik.

 

Pobieramy paczkę zawierającą niezbędne pliki.

http://www.multiupload.nl/UABAJX2O30
https://www.virustotal.com/pl/url/04a0744c6657ecfdc61c3e3e4f32b3af731f46424f47aa644c0462630dd1ae21/analysis/1391195308/

Jeżeli używacie plików terenzo z tego tematu to wszystkiego nie musicie zmieniać:

http://www.mpcforum.pl/topic/768196-czyste-serverfiles-by-terenzo/

-game - znajduję się w /usr/home/mt2/share - opcjonalnie

 

-db - znajduję się w /usr/home/mt2/db - opcjonalnie

 

-lib - znajduję się w /usr/lib - dla freebsd 32 bit - libstdc++.so.6 - obowiązkowo

 

-lib32 - znajduję się w /usr/lib32 - dla freebsd 64 bit - libstdc++.so.6 - obowiązkowo

/w zależności od waszej wersji FreeBSD

 

-libdb_notxt.so - wklejamy do /usr/home/mt2/share - obowiązkowo

 

Teraz pozostaje nam przerobić skrypt odpalający serwer - start.sh

 

Dla wersji FreeBSD 32 bit wygląda to tak:

 

echo -e "\033[32m"
read -p "Ile channeli chcesz uruchomić? (1/4) : " rch

if [ -z $rch ] || [ $rch -lt 1 ] || [ $rch -gt 4 ] ; then
exit
fi

echo -e "\033[0m"
./clear.sh
echo -e "\033[32m"

SFROOT=$PWD
echo -e "# ---------------------------------------------------------------------------- #"
echo -e "# Uruchamianie db..."
cd $SFROOT/db/
# ./db & sleep 2
env LD_PRELOAD=/usr/home/mt2/share/libdb_notxt.so ./db >> start.log 2>&1 & sleep 2
i1=1
while [ $i1 -le $rch ]
do
for i2 in 1 2
do
echo -e "# Uruchamianie ch$i1$i2..."
cd $SFROOT/chs/ch$i1$i2/
# ./ch$i1$i2 & sleep 1
./ch$i1$i2 >> start.log 2>&1 & sleep 1
# env LD_PRELOAD=/usr/home/m2lib/gamelib.so ./ch$i1$i2 >> start.log 2>&1 & sleep 1
done
i1=$(( $i1 + 1 ))
done

echo -e "# Uruchamianie ch99..."
cd $SFROOT/chs/ch99/
# ./ch99 & sleep 1
./ch99 >> start.log 2>&1 & sleep 1
# env LD_PRELOAD=/usr/home/m2lib/gamelib.so ./ch99 >> start.log 2>&1 & sleep 1

echo -e "# Uruchamianie auth..."
cd $SFROOT/auth/
# ./auth & sleep 1
./auth >> start.log 2>&1 & sleep 1

echo -e "# ---------------------------------------------------------------------------- #"
echo -e "\033[0m"

 

Dla wersji FreeBSD 64 bit wygląda to tak:

 

echo -e "\033[32m"
read -p "Ile channeli chcesz uruchomić? (1/4) : " rch

if [ -z $rch ] || [ $rch -lt 1 ] || [ $rch -gt 4 ] ; then
exit
fi

echo -e "\033[0m"
./clear.sh
echo -e "\033[32m"

SFROOT=$PWD
echo -e "# ---------------------------------------------------------------------------- #"
echo -e "# Uruchamianie db..."
cd $SFROOT/db/
# ./db & sleep 2
env LD_32_PRELOAD=/usr/home/mt2/share/libdb_notxt.so ./db >> start.log 2>&1 & sleep 2
i1=1
while [ $i1 -le $rch ]
do
for i2 in 1 2
do
echo -e "# Uruchamianie ch$i1$i2..."
cd $SFROOT/chs/ch$i1$i2/
# ./ch$i1$i2 & sleep 1
./ch$i1$i2 >> start.log 2>&1 & sleep 1
# env LD_PRELOAD=/usr/home/m2lib/gamelib.so ./ch$i1$i2 >> start.log 2>&1 & sleep 1
done
i1=$(( $i1 + 1 ))
done

echo -e "# Uruchamianie ch99..."
cd $SFROOT/chs/ch99/
# ./ch99 & sleep 1
./ch99 >> start.log 2>&1 & sleep 1
# env LD_PRELOAD=/usr/home/m2lib/gamelib.so ./ch99 >> start.log 2>&1 & sleep 1

echo -e "# Uruchamianie auth..."
cd $SFROOT/auth/
# ./auth & sleep 1
./auth >> start.log 2>&1 & sleep 1

echo -e "# ---------------------------------------------------------------------------- #"
echo -e "\033[0m"

 

Gdy już edytujemy skrypt start.sh podmieniamy go w /usr/home/mt2.

 

Po wszystkim nadajemchy chmody we wszystkich plikach, które zamieniliśmy.

 

Następnie wpisujemy komendę: /usr/local/etc/rc.d/mysql-server restart, żeby zaktualizować tabelki mysql i gotowe.

 

Zaleca się zrobić kopie oryginalnego pliku libstdc++.so.6.

 

Szacunek dla boooooo, który jest autorem podobnego tematu:

http://www.mpcforum.pl/topic/1067826-dl-tutr34083-item-proto-mob-proto-w-mysql-fix/

Pomogłem? Możesz walnąć like ;>

Opublikowano

dodałem to według tego poradnika ale posiadam game 40420... w navicat widać to samo co jest w txt ale nie moge tego edytować trzeba dalej przez txt.

Opublikowano

dodałem to według tego poradnika ale posiadam game 40420... w navicat widać to samo co jest w txt ale nie moge tego edytować trzeba dalej przez txt.

Poradnik dotyczy game 34083 i właśnie tylko na nim było testowane, być może na game 40420 nie działa albo wgle, nawet to samo game Ci się nie odpala, sprawdź czy wgle Ci działa czyste game z .txt i jakiego game używasz skąd pobranego?

Opublikowano

game działa bły udostępnione kiedyś na mpc ale usunęli link.. chodzi mi o tego liba, męczące jest ciągłe konwertowanie z Sql do txt.

Opublikowano

game działa bły udostępnione kiedyś na mpc ale usunęli link.. chodzi mi o tego liba, męczące jest ciągłe konwertowanie z Sql do txt.

Na game 40250 ten lib nie działa, właśnie testowałem bo udało mi się odpalić :D

1624176_653408404719171_137196022_n.jpg?

Opublikowano

mam taki błąd jak wpisuje start : Bad variable name not found ./start.sh: 22: Syntax error: word enexpected o co chodzi? .

ściągnij plik start.sh na pultipt odpal za pomocą notepad++, edytuj i podmień z tym starym

Opublikowano

Nie działa, crashuje mi mysql po jakimś czasie, różnie to bywa. Z wgranym libem po ostrym resecie mysql w ogóle nie odpala, pomaga tylko przywrócenie libstdc++.so.6.

  • 4 tygodnie później...
Opublikowano

F5 - Chciał dodać, że item/mob proto w mysql działa bez problemowo na Free BSD 8.x.x z nowszymi wersjami np. 9+ mogą być problemu, wszystko kwestia libów. Testowane na Free BSD by Takiniesmialy tam działa wszystko bez problemowo.

Opublikowano

Dzięki za wspomnienie o mnie xD


 


Jeżeli ktoś szuka różnicy w skrypcie startowym .sh między 32- bitówką, a 64-bitówką to jest taka, że 32 - bity ma to :



LD_PRELOAD

A 64-bity ma :



LD_32_PRELOAD

da5e9f82fbb05240438e374847f4a6f9.gif

  • 4 miesiące temu...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...