Ranking
Popularna zawartość
Treść z najwyższą reputacją w 27.09.2025 uwzględniając wszystkie działy
-
Serverfiles Terenzo - Upgrade (2024) - C++20 / Visual Studio 2023 - By: Muchomor
kubaanst1 przyznał(a) reputację
muchomor321 za temat
Przed rozpoczęciem chciałbym zaznaczyć, że udostępnione przeze mnie pliki zostały stworzone z myślą o osobach początkujących. Wszystko zostało zautomatyzowane, aby maksymalnie uprościć ich pracę. Należy jednak pamiętać, że te pliki nie są gotowe do uruchomienia publicznego serwera, ale stanowią solidną bazę do dalszego rozwoju. Rozgrywka bazuje na Terenzo z 2013 roku, ale sam kod źródłowy jest lepszy niż w przypadku wielu niskiej jakości alternatyw, takich jak Pandora. Od dłuższego czasu w tych kwestiach nic się tu nie działo, a dostępne w Internecie informacje na temat Terenzo są przestarzałe i niewystarczające. Dlatego postanowiłem dzisiaj przedstawić inicjatywę kompleksowej aktualizacji na rok 2024. Visual studio 2022 Source Client - C++17 Server Source - C++20 Freebsd 13.2 (32 bit) Mysql56 Gcc10 Python 2.7 Granny2.11.8.0 W pełni sprawna wirtualna maszyna, która automatycznie wychwyci twoje połączenie internetowe. Uwaga Server Source znajduje się na Virtualbox w lokalizacji /src/Server Hasło do Połączenia SSH root 123 hasło plików .rar gamecoretop Hasła do postaci GM: test / test2 123 Hasło do Navicat: 123 Pełny Tutorial: Dodano nowy folder o nazwie Drop i Zmieniono standardowe pliki .txt / index na .cpp Dodano nowy sprawny system szarf na miarę 2024 roku Dodano nowy sprawny system wierzchowców na miarę 2024 roku Dodano nowy sprawny system nakładek na broń na miarę 2024 roku Usunięto zbędne funkcje i lekko wyczyszczono source. Przepisano funkcję na auto Dodano nowe Refreshe. Przetłumaczono cały drop aby uprościć rozpoznanie. Przetłumaczono nazwy map aby uprościć ludziom odnajdywanie się w plikach. - Naprawiono większość bugów - Niepotrzebujesz już libów do używania ./qc - Aby przeładować wszystkie questy użyj komendy /quest - Niepotrzebujesz już bawić się w dump_proto - Program znajdujący się w tej paczce wychwytuje wszystko automatycznie, jedynie co musisz to skonfigurować połączenie z Mysql w pliku .json - Zmieniono standardowe hasło oraz zabezpieczono włamanie na serwer. - Automatyczne wychwytywanie zmian w item_proto oraz mob_proto - Nie trzeba generować jak dawniej. - Można w łatwy sposób uruchomić nową postać: Likan - Posegregowano i usunięto zbędne mapy. - Klient został odchudzony ze zbędnych plików. - Naprawiono świecenie i inne efekty. - Pliki CONFIG - Automatycznie wychwytują twój adres ip maszyny z Virtualbox - EPack32 - który jest w klient automatycznie wychwytuje lokalizację plików, nie musisz już ustawiać lokalizacji folderu aby rozpakować i spakować dane pliki. Chciałbym poinformować że sam source jest przeznaczony dla osób którzy bawią się tą grą i chcą np. zagrać jak za dawnych czasów ze znajomymi, jednakże osoby które działają przy serwerach również mogą spróbować swoich sił aby je naprawić w całości. Download: PACZKA ZOSTAŁA ODCHUDZONA z 6/7GB do 2.10GB w tym wirtualna maszyna https://mega.nz/file/XaASlKpA#vzAkHcxbW1iae7SqEZNWd5Iq2U__KT-VUqgzqwAEkz41 punkt -
Jakie znacie działające prywatne serwery shakes and fidget? pandorasf.net easy.megaplej.eu thelegacy-sf.5v.pl blaze-sf.7m.pl https://royalguilds.5v.pl/serwer/ https://s1.rothian.pl/ https://vgame.serv00.net/sf https://meios2x.smallhost.pl/ Te znam działają lepiej/gorzej ale od dawna działają. Na dzień edycji tematu każdy serwer sprawdzony.1 punkt
-
[Unofficial MFBot Update] MFBot - Nowy, lepszy bot do Shakes & Fidget
caloriecollector przyznał(a) reputację
SebuśPL za temat
Kontynuacja mojego tematu z przed 10lat. Unofficial MFBot Update Zamieszczam linki do pobrania wersji na Windows. Dostępne są jeszcze wersje konsolowe oraz wersje na system linux oraz mac, jeżeli ktoś potrzebuje to dodam. Windows x86: https://mfbot.marenga.dev/version/12/MFBot_x86.exe Windows x64: https://mfbot.marenga.dev/version/12/MFBot_x64.exe Skany plików https://www.virustotal.com/gui/file/7b6b428ebf054f90e17a9134c2baf2fc461d961d9b133acbd3a2d3660717c1be/summary https://www.virustotal.com/gui/file/a0a1e3d74eb2e963837f45300fed9a6980b3a360b5683cffb271eb15944b0c92/detection Linki prowadzą bezpośrednio do serwera autora jest to wersja 6.12 Aktualizacje powinny się robić w bocie ale gdyby coś nie działało to zaktualizuje linki. Jeżeli ktoś już wcześniej korzystał z bota to niewiele się zmieniło po za dodaniem rzeczy które zostały wprowadzone do gry. Miłego bocenia🙆♂️1 punkt -
To są stare serwery, u mnie nie działają1 punkt
-
Dzięki za informację, edytowałem temat. To chyba jakis świeży serwer Ciekawe czy te serwery działają. Ktoś z Flashem sprawdzi? https://s1-aggelosf.5v.pl/ https://aggelosf-classic.5v.pl/ https://shodragon.7m.pl/1 punkt
-
Witam, w tym temacie znajdziesz nieco zaktualizowane pliki Shakes & Fidget (2019), które wrzuciłem prawie 2 lata temu. Z aktualizacji to głównie zmiana klienta pod HTML5 i parę drobnostek typu naprawa grzybiarza, dodanie automatycznego rozpoznawania IP kont (Wcześniej mogło niektórym wyświetlać IP 127.0.0.1). Download & Skan: Wersja bez grafik res (pobiera z testowego serwera): http://x-stuff.pl/infusions/downloads/downloads.php?cat_id=1&download_id=1 (+ w załączniku) Skan: https://www.virustotal.com/gui/file-analysis/ZTlkYTU0NmNjMTdhZDVhYjQ4NzgwMjFhY2UwZTM4MDQ6MTYxNjA3Mjg0Mw==/detection Wersja z grafikami res: http://x-stuff.pl/infusions/downloads/downloads.php?cat_id=1&download_id=2 Skan: https://www.virustotal.com/gui/file-analysis/YWE1M2EyODY3NzUxOTQyODY5OGNkZDJjZDNmOTE1YTE6MTYxNjA3Mjk2NA==/detection Grafiki res: http://x-stuff.pl/infusions/downloads/downloads.php?cat_id=1&download_id=3 Skan: https://www.virustotal.com/gui/file-analysis/MDFhMmU4YWMwZWZjNDI5MmJlMjA5ZWExYTlhMDhkZjU6MTYxNjA3MzEyMQ==/detection Instalacja: Nadaj połączenie do bazy danych w pliku settings.php: $db = new PDO('mysql:host=HOST_BAZY;dbname=NAZWA_BAZY;charset=utf8', 'TWÓJ_LOGIN_DB', 'TWOJE_HASŁO_DB'); Zmień zawartość zmiennej clientWeb na swój adres serwera bez http:// / https:// ex: $clientWeb = "w1.avalonsf.pl"; Jeśli korzystasz z SSL, zmień zawartość zmiennej protocol na https Testowy serwer: https://shakestest.5v.pl/demo/ Strona główna: http://x-stuff.pl/ Nie pomagam przy instalacji, wszelkie pytania i problemy proszę pisać pod tematem.1 punkt
-
Napisałem skrypt na logowanie i chciałbym się z nim podzielić. Komendy: - /premium (wyłącza i włącza logowanie) (permisja: authscript.premium) - /unregister <hasło> (wyrejestrowywuje) (permisja: authscript.unregister) - /changepassword <starehasło> <nowehasło> <nowehasło> (zmienia hasło) (permisja: authscript.changepassword) - /login <hasło> (loguje) (permisja: authscript.login) (aliasy: l, log, zaloguj) - /authscriptreload (przeładowywuje skrypt) (permisja: authscript.reload) (aliasy: asr, authreload) - /register <hasło> <hasło> (rejestruje) (permisja: authscript.register) (aliasy: reg, zarejestruj) - /setloginspawn (zmienia miejsce logowania) (permisja: authscript.setspawn) Działa on tak że po dołączeniu najpierw trzeba się zarejestrować, potem przy następnym wejściu zalogować i można też wpisywać komendy które wymieniłem i opisałem wyżej. Wymagane pluginy: - Skript - PlaceholderApi Wersja 1.0: # Skript na logowanie AuthSkript w wersji 1.0 wykonany przez rudek2010 options: wersja: 1.0 registertitle: &7Witamy na &b&lSerwerze &7! registersubtitle: &7Zarejestruj się komendą &f&l&n/register <hasło> <hasło> logintitle: &7Witamy na &b&lSerwerze &7! loginsubtitle: &7Zaloguj się komendą &f&l&n/login <hasło> registermessage: &8&l[&b&lAuth&f&lSkript&8&l] &7Proszę zarejestrować się komendą &f&l&n/register <hasło> <hasło> notregister: &8&l[&b&lAuth&f&lSkript&8&l] &7Nie jesteś zarejestrowany loginmessage: &8&l[&b&lAuth&f&lSkript&8&l] &7Proszę zalogować się komendą &f&l&n/login <hasło> notloginkick: &8&l[&b&lAuth&f&lSkript&8&l] &7Nie zdążyłeś się zalogować. Spróbuj ponownie! loginsuccess: &8&l[&b&lAuth&f&lSkript&8&l] &7Zalogowano pomyślnie! registersuccess: &8&l[&b&lAuth&f&lSkript&8&l] &7Zarejestrowano pomyślnie! firstyoumustlogin: &8&l[&b&lAuth&f&lSkript&8&l] &7Najpierw musisz się zalogować! firstyoumustregister: &8&l[&b&lAuth&f&lSkript&8&l] &7Najpierw musisz się zarejestrować! wrongpassword: &8&l[&b&lAuth&f&lSkript&8&l] &7Złe hasło! alredylogin: &8&l[&b&lAuth&f&lSkript&8&l] &7Jesteś już zalogowany! notcurrentlylogin: &8&l[&b&lAuth&f&lSkript&8&l] &7Nie jesteś zalogowany! unregistersuccess: &8&l[&b&lAuth&f&lSkript&8&l] &7Pomyślnie wyrejestrowano! registerusage: &8&l[&b&lAuth&f&lSkript&8&l] &7Poprawne użycie &f&l&n/register <hasło> <hasło> loginusage: &8&l[&b&lAuth&f&lSkript&8&l] &7Poprawne użycie &f&l&n/login <hasło> unregisterusage: &8&l[&b&lAuth&f&lSkript&8&l] &7Poprawne użycie &f&l&n/unregister <hasło> notcurrentlyregister: &8&l[&b&lAuth&f&lSkript&8&l] &7Nie jesteś zarejestrowany! changepasswordusage: &8&l[&b&lAuth&f&lSkript&8&l] &7Poprawne użycie &f&l&n/changepassword <starehasło> <nowehasło> <nowehasło> changepasswordsuccess: &8&l[&b&lAuth&f&lSkript&8&l] &7Hasło zostało pomyślnie zmienione! Za 5 sekund zostaniesz wyrzucony by zalogować się z nowym hasłem! Jeżeli zapomniałeś hasła skontaktuj się z administracją za pomocą e-maila! firstpassword-isn't-secondpassword: &8&l[&2b&lAuth&f&lSkript&8&l] &7Dwa hasła nie zgadzają się a powinny być takie same! youcan'tusecommand: &8&l[&b&lAuth&f&lSkript&8&l] &7Nie możesz używać komend podczas logowania! premiumloginmessage: &8&l[&b&lAuth&f&lSkript&8&l] &7Zostałeś zalogowany bez hasła, ponieważ używasz konta premium! turnonpremiummessage: &8&l[&b&lAuth&f&lSkript&8&l] &7Włączyłeś logowanie premium! turnoffpremiummessage: &8&l[&b&lAuth&f&lSkript&8&l] &7Wyłączyłeś logowanie premium! premiumusage: &8&l[&b&lAuth&f&lSkript&8&l] &7Poprawne użycie &f&n&l/premium setloginspawnsucces: &8&l[&b&lAuth&f&lSkript&8&l] &7Pomyślnie zmieniono miejsce logowania! setspawnusage:&8&l[&b&lAuth&f&lSkript&8&l] &7Poprawne użycie &f&l&n/setloginspawn on damage of player: if {password::%victim%} is not set: cancel event on player move: if {password::%player%} is not set: cancel event on damage of player: if {logged in::%victim%} is false: cancel event on player move: if {logged in::%player%} is false: cancel event on command: if executor is a player: if command is not "register" or "reg" or "login" or "l": if {logged in::%player%} is not set: send "{@youcan'tusecommand}" cancel event if {logged in::%player%} is false: send "{@youcan'tusecommand}" cancel event on join: wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" wait 0.5 seconds if {logged in::%player%} is true: execute console command "effect clear %player%" on join: if {premiumlogin::%player%} is not set: set {premiumlogin::%player%} to false set {pozycja::%player%} to position of player teleport player to {loginspawn} if {password::%player%} is not set: apply blindness potion of tier 1 to the player for 30 seconds send "{@registermessage}" send title "{@registertitle}" with subtitle "{@registersubtitle}" to player for 5 seconds wait 30 second if {logged in::%player%} is false: kick player due to "{@notregister}" if {logged in::%player%} is false: if {premiumlogin::%player%} is false: apply blindness potion of tier 1 to the player for 30 seconds send "{@loginmessage}" send title "{@logintitle}" with subtitle "{@loginsubtitle}" to player for 5 seconds wait 30 second if {logged in::%player%} is false: kick player due to "{@notloginkick}" else: send "{@premiumloginmessage}" else: set {logged in::%player%} to true send "{@loginsuccess}" command /register <text> <text>: aliases: reg, zarejestruj, permission: authscript.register usage: {@registerusage} trigger: if arg-1 is arg-2: set {password::%player%} to arg-1 set {logged in::%player%} to true send "{@registersuccess}" else: send "{@firstpassword-isn't-secondpassword}" command /authscriptreload: aliases: asr, authreload, permission: authscript.reload usage: /authscriptreload trigger: execute player command "skript reload login.sk" command /login <text>: aliases: l, log, zaloguj permission: authscript.login usage: {@loginusage} trigger: if {logged in::%player%} is not set: send "{@firstyoumustregister}" else if {password::%player%} is not arg-1: send "{@wrongpassword}" else if {logged in::%player%} is false : teleport player to {pozycja::%player%} set {logged in::%player%} to true send "{@loginsuccess}" else: send "{@alredylogin}" command /unregister <text>: permission: authscript.unregister usage: {@unregisterusage} trigger: if {logged in::%player%} is not set: send "{@notcurrentlyregister}" else if {password::%player%} is not arg-1: send "{@wrongpassword}" else if {logged in::%player%} is true: Clear {password::%player%} Clear {logged in::%player%} set {logged in::%player%} to true send "{@unregistersuccess}" else: send "{@notcurrentlylogin}" command /changepassword <text> <text> <text>: permission: authscript.changepassword usage: {@changepasswordusage} trigger: if {logged in::%player%} is not set: send "{@notcurrentlyregister}" else if {password::%player%} is not arg-1: send "{@wrongpassword}" else if arg-2 is not arg-3: send "{@firstpassword-isn't-secondpassword}" else if {logged in::%player%} is true: set {password::%player%} to arg-2 Clear {logged in::%player%} send "{@changepasswordsuccess}" wait 5 seconds set {logged in::%player%} to false kick player else: send "{@notcurrentlylogin}" command /premium: permission: authscript.premium usage: {@premiumusage} trigger: if {premiumlogin::%player%} is false: set {premiumlogin::%player%} to true send "{@turnonpremiummessage}" if {premiumlogin::%player%} is true: set {premiumlogin::%player%} to false send "{@turnoffpremiummessage}" command /setloginspawn: permission: authscript.setspawn usage: {@setspawnusage} trigger: set {loginspawn} to location of player send "{@setloginspawnsucces}" on quit: if {logged in::%player%} is true: set {logged in::%player%} to false1 punkt
-
Poradnik jest nieaktualny, pomoc oraz aktualne poradniki możecie znaleźć na: https://otland.net/forums/basic.479/ Piszę ten poradnik ponieważ wiele osób nie wie, albo nie chce im się szukać jak zrobić swój własny ots. Spis Treści: 1. Wprowadzenie. Co potrzebne ? 2. Silnik 3. Acc Maker ( Strona ) 4. Mysql ( Baza Danych ) 5. Zakończenie ...::: 1. Wprowadzenie. Co potrzebne ? :::... Pierwsze co będziemy potrzebować jest silnik który nas interesuje. Możemy ściągnąć np. silnik rl, evo, pokemon czy dragon ball i go przerobić lub nie. Innym rozwiązaniem jest ściągniecie dosyć czystych plików np. TFS'a ( The Forgotten Serwer ) i zrobienie swojego wymarzonego OTS'a od 0. OTS'y dzielą sie na XML i MySQL, ja w tym poradniku opiszę MySQL ale dla XML robi się to samo pomijając bazę danych. Jakie są plusy i minusy używając ściągniętych silników: + Nie znając dobrze c++ czy lua można zrobić dosyć ciekawy serwer. + Nie trzeba poświęcać dużo czasu. + Duży wybór, jest dużo silników w internecie do wyboru więc każdy znajdzie coś dla siebie. - Częsty brak source ( source potrzebne do edycji samej budowy silnika [ c++ ] ). - Jednolitość serwera, nie będzie unikatowy ponieważ jest dostępny w internecie. - Możliwość pobrania wirusa. Myślę że po krótce przybliżyłem wam wiedze na temat silników do Tibiskich Serwerów więc przejdźmy do sedna. Nasze MPC'owe silniczki: http://www.mpcforum.pl/topic/1186261-spis-silnikow-ots/ ...::: 2. Silnik :::... Gdy już mamy swój silnik możemy wziąć się do roboty. Co taki silnik powinien zawierać. Folder Data, Skompilowany plik do odpalania serwera na Windows ( .exe), plik config.lua + inne opcjonalne "śmieci" Pierwszym krokiem który musimy zrobić jest edycja pliku config.lua Edytujemy go normalnie w notatniku ( osobiście polecam notepad ++ ) Link do Notepad ++ : http://notepad-plus-plus.org/ Znajdziemy tam mniej więcej coś takiego ( config.lua każdego silnika wygląda inaczej ! ) Wyjaśniłem tylko te najważniejsze, jeśli ktoś chce znać inne niech użyje mózgu albo google translatora. Następnym krokiem po konfiguracji naszego serwera jest zrobienie bazy dancyh które będa zapisywały lvl ,konta, itemy itp. graczy. Potrzebować będziemy programu XAMPP: http://www.oldapps.com/xampp.php?old_xampp=39 Podczas instalacji zaznaczamy Apache i Mysql, po instalacji powinno wyglądać tak: Jeśli Running nie świeci to znaczy że jakieś porty blokują ( np. jest spowodowane przez skype bo on blokuje port 80 ) Gdy uporamy się z xamppem wchodzimy w przeglądarkę i wpisujemy: http://127.0.0.1/security/ Czas zabezpieczyć naszą bazę danych: Wybieramy język Polski I klikamy jak na screenie: Następnie: I klikamy "Password changing" Hasło do htaccess opcjonalnie. Gdy mamy hasło możemy uzupełnić w confing.lua sqlPass = "nasze_hasło" Czas zimportować bazę danych: wchodzimy: 127.0.0.1/phpmyadmin logujemy sie: login: root hasło: <twoje hasło> Po zalogowaniu musimy utworzyć nową bazę danych dla przykładu wpisujemy "ots" i klikamy Utwórz. Następnie klikamy import -> przeglądaj i wchodzimy w pliki silnika. Szukamy pliku mysql w folderze schemats a następnie klikamy Wykonaj. Powinniśmy otrzymać następujące tabele: Następnym zadaniem jest odpalenie silnika ( plik .exe ) Po odczekaniu i załadowaniu powinniśmy otrzymać następujący wynik: Jak widzimy > > Status: Online! W tym momencie możemy się zalogować poprzez client i ipchangera Można zalogować się na passy 1/1 i wybrać Account Menagera Gratulacje właśnie postawiłeś własnego OTS'a ! ...::: 3. Acc Maker ( Strona ) :::... Strona to bardzo przydatny dodatek do naszego OTS'a. Zachęca dużo graczy i ułatwia graczom przeglądanie np. Highscores czy zakładanie gildii. Jedne z bardziej znanych gotowych acc makerow to Gesior czy Nicaw. http://nicaw.net/ Gdy mamy gotowe pliki do strony. Wchodzimy do folderu z xampp. Przykładowo C:\xampp i szukamy folderu htdocs. Polecam go skopiować i trzymać w jakimś miejscu bo sie może przydać. A z naszego orginalengo folderu htdocs usuwamy wszystko i wklejamy tam pliki strony. Jeśli to Nicaw Acc to musimy skonfigurować wszystko w pliku config.inc.php a gdy mamy Gesiora to robimy jak piszą. Najważniejsze przykładowe uzupełnienie w config.inc.php # Set data directory of your OT server $cfg['dirdata'] = 'C:/OTServ/data/'; // scieżka do plikow otsa $cfg['house_file'] = 'world/Tibia-house.xml'; // ścieżka do listy domkow # MySQL server settings $cfg['SQL_Server'] = 'localhost'; // ip mysql $cfg['SQL_User'] = 'root'; // nazwa użytkownika bazy dancyh $cfg['SQL_Password'] = ''; // haslo bazy dancyh $cfg['SQL_Database'] = 'ots'; // nazwa bazy danych Przykładowa strona: Lecz to jeszcze nie koniec, ponieważ trzeba wyłączyć naszego Account Menagera Aby to zrobić należy wejść do plików serwera i edytować config.lua i zmienić accountManager = true na accountManager = false Tak oto zrobiliśmy stronę naszego Serwera i wyłączyliśmy standardowe tworzenie kont przez passy 1/1. ...:::4. Mysql ( Baza Danych ):::... Mam OTS ale nie mam GM'a ? To nie ma sensu ! No właśnie, w tym punkcie opisze jak dodać Admina jakiemuś graczowi. Aby tego dokonać "znowu" wchodzimy do bazy danych naszego OTS. 127.0.0.1/phpmyadmin Logujemy się, i możemy zauważyć wcześniej przedstawione tabele. Wchodzimy w zakładkę players, klikamy przeglądaj i klikamy ołówek przy postaci której chcemy dać GoD'a. Możemy tam edytować podstawowe rzeczy gracza jak lvl, cap, pozycje, outfit itp. Aby ustawić sobie GoD'a w tabeli group_id ustawiamy 6. Można tu znaleźć prawie wszystko, kto ma jaki item itp. nie będę się rozpisywał ponieważ trzeba samemu poszperać, z najmniejszą wiedzą można się domyślić która tabela jest od czego. ...:::5. Zakończenie :::... Myślę, że tym poradnikiem przybliżyłem wam trochę wiedzę o stawianiu własnego OTS i przyda wam się. Liczę na to że uszanujesz moją pracę podczas pisania tego poradnika i nie będziesz udostępniał go na inne fora bez mojej zgody ponieważ napracowałem się pisząc ten poradnik. Pozdrawiam i życzę udanych serwerów @rafaeru1 punkt
-
Witam, chciałbym wam przedstawić mojego bota na serwer ts3, który posiada następujące funkcje. ? addRank() - Funkcja nadaje rangę o podanym ID gdy użytkownik wejdzie na kanał o podanym ID. adminLog() - Funkcja zapisuje logi podanych grup. aktualna_data() – Funkcja ustawia aktualną datę jako nazwa kanału o podanym ID. aktualnie_online() – Funkcja ustawia aktualną liczbę osób online jako nazwa kanału o podanym ID. anty_vpn() – Funkcja wyrzuca osobę jeżeli korzysta z VPN funkcja ta używa API https://iphub.info . banHistory - Funkcja zapisuje w bazie wszystkie bany co pozwala sprawdzić komendą !banhistory czy użytkownik miał wcześniej bana banList() - Funkcja ustawia aktualną listę osób zbanowanych w opisie kanału. cleanChannel() – Funkcja czyści kanały, które nie są aktywne dłużej niż 7 dni w podanym sektorze. clearImg() - Funkcja usuwa z opisu kanału. channelCreate() – Funkcja tworzy kanał w strefie prywatnej lub gdy jest dostępny wolny kanał to zostanie on przydzielony użytkownikowi. channelNumber() - Funkcja sprawdza i w razie, czego poprawia numer kanału. delInfoChannel() - Funkcja ustawia w opisie kanały które zostaną usunięte w razie braku aktywności. delPermissions() - Funkcja usuwa prywatne uprawnienia. delRank() - Funkcja usuwa range po wejściu na kanał o podanym ID. groupOnline() - Funkcja ustawia w opisie kanału osoby z podanej grupy jeżeli jest online oraz czas ostatniej aktywności jeżeli jest offline. limitIp() - Funkcja wywala użytkownika jeżeli przekroczy liczbę połączeń z tego samego IP. lvl() - Funkcja pozwala zdobywać exp oraz awansować na wyższy lvl. Bot może też nadawać rangi po wbiciu lvl. moveAfk() - Funkcja przenosi nieaktywne osoby na kanał o podanym ID. newUser() - Funkcja ustawia listę nowych użytkowników w opisie kanału. points() - Funkcja pozwala zdobywać punkty za siedzenie na ts. Punkami można sprawdzić za pomocą komendy !points oraz można nimi grać za pomocą komendy !gamble. poke() - Funkcja puka podane grupy jeżeli ktoś wbije na podany kanał. register() - Funkcja automatycznie rejestruje użytkownika gdy on wbije na podane id kanału. rekord_online() - Funkcja ustawia rekord osób online jako nazwa kanału o podanym ID. sendAd() - Funkcja wysyła reklamę co określony czas. servername() - Funkcja ustawia nazwę serwera wraz z liczbą osób online. sprchannel() - Funkcja sprawdza nazwy kanału pod względem wulgaryzmów. sprnick() - Funkcja sprawdza nicki użytkowników czy nie zawierają wulgaryzmów lub podanych w configu słów. statusTwitch() - Funkcja ustawia w opisie kanału aktualny status z kanału na twitch.tv. statusYt() - Funkcja ustawia liczbę subskrypcji w nazwie oraz podstawowe informacje w opisie. top_activity_time() - Funkcja ustawia w opisie kanału o podanym ID TOP 10 aktywnych użytkowników. top_connections() - Funkcja ustawia w opisie kanału o podanym ID TOP 10 połączeń z serwerem. top_longest_connection() - Funkcja ustawia w opisie kanału o podanym ID TOP 10 Najdłuższych połączeń z serwerem. visit() - Funkcja ustawia w nazwie kanału liczbę osób, które odwiedziły serwer. welcome_messege() - Funkcja wysyła wiadomość powitalną. Komendy: addcmd - dodaje komendy tekstowe do bota. adminlog - wyświetla ostatnie akcje użytkownika o podanym DBID banhistory - pozwala sprawdzić osobę czy miała bana. channelowner - służy do oddania owera kanału prywatnego (wymaga dodatkowej konfiguracji w pliku config_cmd.php). channelpin - pozwala odzyskać kanał właścicielowi, jeżeli np. zmieni uid (wymaga podania pinu, który jest wysyłany przy zakładaniu kanału można to wyłączyć w config.php). delcmd - usuwa komendę tekstową. delgroup - pozwala zabrać sobie grupy. gamble - pozwala obstawić punkty give - pozwala przekazać monety innemu użytkownikowi. givegroup - pozwala nadać sobie grupę (wymaga podania grup możliwych do nadania w config_cmd.php). groupcmd - pozwala ustawić wymaganą grupę do użycia komendy. help - wyświetla listę dostępnych komendy. punkty - pozwala sprawdzić ile mamy punktów poke - puka użytkowników z podanej grupy lub wszystkich, którzy znajdują się na ts. staff - pozwala nadać indywidualne uprawnienia do komend podanemu użytkownikowi. staffcmd - pozwala ustawić wymagane indywidualne uprawnienia do użycia podanej komendy. staffcmdtxt - pozwala ustawić wymagane indywidualne uprawnienia do użycia podanej komendy tekstowej. stats - wyświetla nasze statystki lub podanego użytkownika. userinfo - wyświetla szczegółowe informacje o użytkowniku (wymaga dodatkowej konfiguracji w pliku config_cmd.php). Uruchomienie bota odbywa się poprzez wpisanie ./start.sh start, gdzie przed pierwszym uruchomieniem należy pamiętać o skonfigurowaniu go. Plik konfiguracyjny znajduje się w folderze includes i nosi nazwę config.php. WYMAGANIA Wersja PHP 7.1. lub większa. https://www.colinodell.com/blog/2016-12/installing-php-7-1 Wymagane pakiety instalujemy komendą. sudo apt install php7.1-curl php7.1-mbstring Download https://github.com/Majcon94/TS3Bot Instalacja Pobierz pliki. Wrzuć na serwer. Skonfiguruj bota includes/config.default.php. Zmień nazwę pliku config.default.php na config.php. Przejdź do głównego katalogu bota wpisz ./start.sh start. Jeżeli bot nie wejdzie na serwer lub wejdzie i wyjdzie błędy php można sprawdzić w log/php_error.log. Changelog1 punkt
-
execute console command "playsound block.chest.open %player%"1 punkt
-
A czy dało by jeszcze rade żeby dopisać do tego dźwięk otwierania skrzyni?1 punkt
-
on join: send player title "HUB3" with subtitle "Witamy" for 5 seconds To jest skript, wymaga dodatku SkRayFall.1 punkt
-
Problemy ze strzelaniem
Zuzanka8888 przyznał(a) reputację
DarkusFD za temat
@Davvidd Wprowadź w konsole te komendy: cl_cmdrate 64 cl_updaterate 64 rate (tu wpisz wartość z tabeli poniżej) Te wartości sprawdzisz na stronie, która mierzy szybkość internetu. 0.5 Mbps - rate 62500 1.0 Mbps - rate 125000 1.5 Mbps - rate 187500 1.57 Mbps - rate 196608 (Standardowa wartość) 2.0 Mbps - rate 250000 2.5 Mbps - rate 312500 3.0 Mbps - rate 375000 3.5 Mbps - rate 437500 4.0 Mbps - rate 500000 4.5 Mbps - rate 562500 5.0 Mbps - rate 625000 5.5 Mbps - rate 687500 6.0 Mbps - rate 750000 6.2 Mbps - rate 786432 (Maksymalna wartość)1 punkt
