Jak dodać GM'a na własnym serwerze Metin2?
Cześć, rozpoczynam serię nowych poradników, które będą tworzyć naszą bazę wiedzę o tworzeniu prywatnych serwerów Metin2. Ten poradnik dla wielu z was będzie banalny i pewnie część osób określi go jako zbędny, dlatego chciałbym to na początku wyjaśnić. Tym poradnikiem chcę pokazać, że materiały opisujące nawet podstawowe kwestie związane z tworzenia serwera są u nas bardzo mile widziane. Chcemy zbudować na Sharegon solidną i w pełni aktualną bazę wiedzy dotyczącą tworzenia prywatnych serwerów Metin2 oraz zarządzania nimi. Tu mój drobny apel do społeczności jeśli coś potrafisz i umiesz to dobrze opisać, podziel się tym z nami. Chcemy, żeby było to miejsce przystępne zarówno dla osób mających dużą wiedzę programistyczną, jak i dla początkujących, którzy dopiero zdobywają doświadczenie. To tyle krótkiego wstępu. Chciałem od razu wyjaśnić, skąd pomysł na tak podstawowy poradnik i uprzedzić podobne komentarze. Przejdźmy teraz do konkretów, zapraszam do mini lektury.😉
Połączenie z bazą danych
Nie będę tu opisywał dokładnie połączenia z bazą dodam link do tematu, gdy taki utworzę. Po nawiązaniu połączenia z bazą danych przejdź do bazy: common
Będziemy pracować w tabeli: gmlist
Po otworzeniu zobaczysz taką strukturę tabeli:
Omówienie struktury tabeli
mID to unikalny identyfikator wpisu w tabeli gmlist, który jest kluczem głównym i otrzymuje automatycznie kolejny numer poprzez atrybut AUTO INKREMENT
mAccount login do konta na którym ma być GM.
mName nazwa postaci GM musi być dokładnie taka sama, co nazwa już utworzonej postaci.
mContactIP ta kolumna jest pomijana - pozostaw pustą. W innych regionach była wykorzystywana do określenia adresu IP z którego GM się loguje na serwer.
mServerIP określa, na którym serwerze gry zostanie załadowany dany wpis GM. Wartość ALL oznacza wszystkie serwery. Na oficjalnych serwerach jest ich kilka i to pole pozwala przypisać GM'a do konkretnego serwera. W naszym przypadku będziemy ustawiać wartość domyślną ALL
mAuthority poziom uprawnień w formie tekstowej akceptowane są następujące wartości: PLAYER -> LOW_WIZZARD -> GOD -> HIGH_WIZARD -> IMPLEMENTOR.
Wyjaśnienie
AUTO_INCREMENT to właściwość kolumny, która sprawia, że MySQL automatycznie nadaje jej kolejne wartości podczas dodawania rekordów.
W tabeli gmlist dotyczy kolumny mID .
Poziomy uprawnień
Poziom uprawnień określa z jakich komend administracyjnych może korzystać dana postać. Im wyższy poziom tym większy zakres dostępnych poleceń.
GM_IMPLEMENTOR
GM_HIGH_WIZARD
GM_GOD
GM_LOW_WIZZARD
GM_PLAYER
Dostępne polecenia dla poszczególnych poziomów
Najwyższy poziom obejmuje wszystkie komendy niższych poziomów i dodatkowo:
who
set
book
refine_rod
refine_pick
max_pick
fish_simul
qf
setjob
setskillpoint
reload
mount_test
private
observer
socketitem
saveati
change_attr
add_attr
add_socket
temp
check_mmoney
flush
special_item
Obejmuje poziomy GM_PLAYER, GM_LOW_WIZARD, GM_WIZARD, GM_HIGH_WIZARD i dodatkowo:
weaken
item
advance
Obejmuje wszystkie niższe poziom i dodatkowo:
user
notice
big_notice
eventflag
mob
mob_ld
ma
mc
mm
kill
ipurge
group
grrandom
reset
greset
shutdow
shutdown
makeguild
deleteguild
safebox
clear_quest
setskillother
cooltime
polyitem
priv_empire
priv_guild
xmas_boom
xmas_snow
xmas_santa
jy
clear_land
horse_state
horse_level
horse_ride
horse_summon
horse_unsummon
horse_set_stat
elect
frog
reset_subskill
eclipse
eventhelper
Obejmuje komendy GM_PLAYER i dodatkowo:
warp
notice_map
dc
transfer
goto
level
geteventflag
console
stat_reset
state
stun
slow
invisible
setskill
gwlist
gwstop
gwcancel
gstate
getqf
setqf
delqf
set_state
detaillog
monsterlog
forgetme
aggregate
attract_ranger
pull_monster
polymorph
affect_remove
pcbang_update
pcbang_check
show_arena_list
end_all_duel
end_duel
duel
con+
int+
str+
dex+
break_marriage
show_quiz
log_oxevent
get_oxevent_att
effect
threeway_info
threeway_myinfo
rmcandidacy
setmonarch
rmmonarch
inventory
siege
weeklyevent
get_mob_count
item_id_list
set_socket
tcon
tint
tstr
tdex
cannot_dead
can_dead
full_set
item_full_set
attr_full_set
all_skill_master
use_item
do_clear_affect
GM_PLAYER oznacza poziom zwykłego gracza. Te komendy nie wymagają uprawnień GM:
war
nowar
stat
stat-
mount
restart_here
restart_town
phase_selec
phase_select
qui
quit
logou
logout
skillup
gskillup
pvp
safebox_close
safebox_passwor
safebox_password
safebox_change_passwor
safebox_change_password
mall_passwor
mall_password
mall_close
ungroup
close_shop
set_walk_mode
set_run_mode
pkmode
messenger_auth
setblockmode
unmount
party_request
party_request_accept
party_request_deny
observer_exit
view_equip
vote_block_chat
block_chat
block_chat_list
build
emotion_allow
kiss
slap
french_kiss
clap
cheer1
cheer2
dance1
dance2
dance3
dance4
dance5
dance6
congratulation
forgive
angry
attractive
sad
shy
cheerup
banter
joy
user_horse_ride
user_horse_back
user_horse_feed
mto
mtr
minfo
mtax
mmob
hair
cube
gift
mnotice
in_game_mall
dice
click_mall
ride
costume
dragon_soul
ds_list
Informacja
Pewnie zastanawiasz się dlaczego tu widnieje GM_PLAYER jest to poziom zwykłego gracza. Nie nadaje mu żadnych uprawnień GM. Istnieją komendy, które są wywoływane w różnych zdarzeniach np. użycie skrótu CTR + B wywołuje komendę user_horse_back odwołującą konia gdy jest przywołany, wciśnięcie przycisku wyloguj wywoła polecenie logout itd. właśnie do tego typu komend został stworzony ten poziom.
Nadanie GM - krok po kroku
Połącz się z bazą danych, następnie przejdź do bazy
commoni otwórz tabelęgmlistW polu
mAccountwpisz poprawny login konta.W polu
mNamewpisz nazwę postaci, której chcesz nadać uprawnienia GM. Postać musi być wcześniej utworzona.Pole
mContactIPpozostaw puste.mServerIPmożesz pozostawić z domyślną wartościąALL.W kolumnie
mAuthorityokreśl poziom uprawnień. Jeśli chcesz nadać pełne uprawnienia GM, wybierzIMPLEMENTOR.Zapisz dodany rekord, klikając przycisk zatwierdzenia zmian.
Na koniec zrestartuj serwer gry, aby nowe uprawnienia zostały zastosowane.
Przykładowy rekord:
Brawo, właśnie dodałeś GM'a na swoim serwerze i możesz rozdawać ajtemki👏😏
Uwaga
Gdy masz na serwerze włączony tryb testowy każde konto otrzymuje poziom GM_IMPLEMENTOR . Jest to wygodne podczas testów, natomiast nie będzie wtedy widocznego znaczka GM, a wszystkie konta będą miały te uprawnienia. Aby odczyt tabeli gmlist działał poprawnie, upewnij się, że tryb testowy jest wyłączony. Sprawdzisz to w pliku CONFIG znajdującym się w folderze z kanałami gry. Wartość powinna być ustawiona na: TEST_SERVER: 0
Jeśli widzisz jakieś błędy merytoryczne o czymś zapomniałem albo coś jest niejasne, daj znać w komentarzu.
łap plusa na zachętę
Mordo, dobra robota. :D
Jest błąd w:
Informacja
Pewnie zastanawiasz się dlaczego tu widnieje GM_PLAYER jest to poziom zwykłego gracza. Nie nadaje mu żadnych uprawnień GM. Istnieją komendy, które są wywoływane w różnych zdarzeniach np. użycie skrótu CTR + B wywołuje komendę user_horse_back odwołującą konia gdy jest przywołany, wyciśnięcie przycisku wyloguj wywoła polecenie logout itd. właśnie do tego typu komend został stworzony ten poziom.
Nie wyciśnięcie tylko wciśnięcie. Więcej błędów nie znalazłem i nie pamiętam a za wszelkie bardzo żałuję xD
Faktycznie machnąłem się, ale od rana trochę mi zeszło żeby to przygotować i jeszcze pisałem na czacie, dzięki poprawiłem. A poza tym merytorycznie jest zrozumiały? Chciałem dość szczegółowo opisać żeby każdy wiedział, co z czego wynika i do czego służy bo równie dobrze można ten temat skrócić do kilku kroków, ale nie taki był cel.
Dla mnie git, choć ja to już na pamięć klikam i dodaję. XD
Czytałem dwa razy, trzeci już nie czytam bo głowa boli. Ale chyba wszystko już ok xd