- Mesajlar
- 2,410
- En iyi cevaplar
- 98
- Beğeniler
- 2,461
- Puanları
- 10,250
- Ruh hali
Bilgi & Açıklama:
Şifremi Unuttum Sistemi, Oyuncuların şifrelerini unuttuklarında hesaplarıyla ilişkili email hesaplarıyla veya önceden belirledikleri yedek şifre ile hesaplarını kurtarabilmelerini sağlar. Yedek Şifre ile kurtarmak için önceden belirlenen yedek şifreyi girip şifrelerini değiştirirler. Email ile kurtarmak için ise önceden belirledikleri email'lerine gelen kodu girip şifrelerini değiştirirler. Mail gönderme işlemi Skript ile oyun içerisinden yapılır. Maile gelen kod random oluşturulur ve 8 karekterlidir. 3 Deneme hakkı vardır ondan sonra aynı IP adresinden tekrar mail ile sıfırlama yapamaz. Sunucuda toplam kaç kişinin mail adresi eklediğini /mailList yazarak görebilirsiniz. Herneyse açıklamayı geçelim, aşşağıda Komutlar & Yetkiler, Ekran Görüntüleri ve Skript Kodu & Kurulum kısımlarını inceleyin.
Komutlar & Yetkiler:
/sifremiunuttum > Kurtarma seçeneklerini gösterir.
/yedeksifre <yedek şifre> > Yedek şifrenizi belirler.
/mail <mail adresiniz> > Mail adresinizi ekler.
/mailList > Mail hesabı ekleyen toplam kullanıcıları gösterir. Yetkisi "op".
Ekran Görüntüleri:
(DL Güvenlik Şifresi ile kurtarma benim sunucuma özgü bir şey paylaştığım versiyonda yok.)
Skript Kodu & Kurulum:
1. Sunucunuzdan plugins\AuthMe\config.yml dosyasını açın.
2. CTRL+F yapıp "AllowCommands" aratın.
3. Orada yazan komutların listesine /sifremiunuttum , /sifremiunuttum?yedeksifre , /sifremiunuttum?mail ve /kurtar komutlarını ekleyin.
4. Dosyayı kaydedip sunucunuza yükleyin.
5. Skript ve skMorkaz Eklentilerinin uygun versiyonlarını indirip plugins\ içerisine atın.
6. Sunucunuzu yeniden başlatın.
7. Sunucunuzdan plugins\skMorkaz\config.yml dosyasını NotePad++ ile açın.
8. EmailServer kısmına email sunucunuzu girin. (GMail için smtp.gmail.com, Batihost için srv.batihost.com)
9. EmailPort kısmına TLS için 587, SSL için 465 yazın.
10. EmailTLSRequired TLS için "true", SSL için "false" yapın.
11. EmailAuthRequired "false" yapın. (Bu ayar hakkında bi fikrim yok)
12. EmailUsername kısmına mail göndereceğiniz Eposta adresini girin. (örn. [email protected])
13. EmailPassword kısmına mail göndereceğiniz Eposta şifresini girin.
14. Dosyayı kaydedin ve sunucunuza yükleyin.
15. Sunucunuzun plugins\Skript\scripts klasörünün içerisine "sifremiunuttum.sk" adında bir dosya oluşturun.
16. Dosyayı NotePad++ ile açın.
17. Websiteden kopyaladığınız Skript'i yapıştırın.
18. Yukarıdan "Kodlama" seçin ve sonrasında "UTF-8'e Dönüştür" seçin.
19. Dosyayı kaydedin ve sunucunuza yükleyin.
20. Sunucunuzu yeniden başlatın.
21. Sistemi test edin.
Skript Kodu:
PHP:
# Şifremi unuttum sistemi by @LifeMCServer
# Mail ve yedek şifre sistemi ile ek site, program v.s gerekmeden tamamen otomatik olarak şifrenizi sıfırlayın ve hesabınızı kurtarın.
# Gerekli eklentiler;
# - Skript
# - skMorkaz (Email için gerekli, configinden Email ayarlarını yapmayı unutmayın.)
# - AuthMe / AuthMe Reloaded
options:
sunucuad: LifeMC
sunucusite: https://www.lifemcserver.com/
sunucu-ip: play.LifeMCServer.com
command /sifremiunuttum:
aliases: su
trigger:
delete {sifremiUnuttum::%player%::*}
send "&c&lŞifreni mi unuttun? Aşşağıdaki kurtarma seçeneklerinden birini seç."
send ""
send json of "&71. &bYedek Şifre İle Kurtar" run "/sifremiunuttum?yedeksifre" tooltip "&6Hesabını Yedek Şifren İle Kurtar!" to player
send ""
send json of "&72. &cMail'ine Gelen Kod İle Kurtar" run "/sifremiunuttum?mail" tooltip "&6Hesabını Mail Adresin İle Kurtar!" to player
send ""
command /sifremiunuttum?mail:
trigger:
delete {sifremiUnuttum::%player%::*}
if {email::%player%} is set:
set {_1} to random integer between 1 and 9
set {_2} to random integer between 1 and 9
set {_3} to random integer between 1 and 9
set {_4} to random integer between 1 and 9
set {_5} to random integer between 1 and 9
set {_6} to random integer between 1 and 9
set {_7} to random integer between 1 and 9
set {_8} to random integer between 1 and 9
set {sifremiUnuttum::%player%::mailCode} to "%{_1}%%{_2}%%{_3}%%{_4}%%{_5}%%{_6}%%{_7}%%{_8}%"
send email with subject "Merhaba, %player% ! %nl%İşte, doğrulama için gereken onay kodun;%nl%%{sifremiUnuttum::%player%::mailCode}%%nl% %nl%Sunucu adresimiz: {@sunucu-ip}%nl%Sitemiz: {@sunucusite}" with message "{@sunucuad} Doğrulama Kodu!" to "%{email::%player%}%"
send ""
send "&a&lKod başarıyla mail adresinize gönderildi."
send "&6&lMail adresinize gelen mail kodunu &c&l/kurtar <kod> &6&lŞeklinde girin."
send ""
else:
send "&cHesabına email eklenmemiş."
command /kurtar <text>:
trigger:
if {sifremiUnuttum::%player%::yedeksifreMode} is true:
if arg-1 is "%{%player%.yedekSifre}%":
send ""
send "&6&lYeni şifrenizi /kurtar <Yeni şifreniz> şeklinde girin."
send ""
wait 1 ticks
delete {sifremiUnuttum::%player%::yedekSifreMode}
set {sifremiUnuttum::%player%::yedekSifrePassed} to true
else:
send "&cYanlış Yedek Şifre girdin!"
else if {sifremiUnuttum::%player%::yedekSifrePassed} is true:
if length of arg-1 is greater than 5:
delete {sifremiUnuttum::%player%::*}
execute console command "authme changepassword %player% %arg-1%"
wait 1 ticks
execute player command "login %arg-1%"
send ""
send "&a&lŞifren başarıyla değişti! Keyifli oyunlar."
send ""
else:
send "&cYeni şifren en az 6 karekter olmalı."
else if {sifremiUnuttum::%player%::mailMode} is true:
if {sifremiUnuttum::%player's ip%::mailEngel} is not set:
if arg-1 is "%{sifremiUnuttum::%player%::mailCode}%":
send ""
send "&6&lYeni şifrenizi /kurtar <Yeni şifreniz> şeklinde girin."
send ""
wait 1 ticks
delete {sifremiUnuttum::%player's ip%::mailEngel}
delete {sifremiUnuttum::%player%::denemeler}
delete {sifremiUnuttum::%player%::mailMode}
set {sifremiUnuttum::%player%::mailPassed} to true
else:
add 1 to {sifremiUnuttum::%player%::denemeler}
if {sifremiUnuttum::%player%::denemeler} is greater than 2:
set {sifremiUnuttum::%player's ip%::mailEngel} to true
send "&cMail ile kurtarma seçeneği artık erişilebilir değil."
else:
set {_c} to 3 - {sifremiUnuttum::%player%::denemeler}
send "&cYanlış kod girdin! Kalan deneme hakkın: %{_c}%"
send "&cEğer deneme hakkın biter ise bir daha email ile şifre sıfırlama yapamayacaksın."
else:
send "&cMail ile kurtarma seçeneği artık erişilebilir değil."
else if {sifremiUnuttum::%player%::mailPassed} is true:
if length of arg-1 is greater than 5:
delete {sifremiUnuttum::%player%::*}
execute console command "authme changepassword %player% %arg-1%"
wait 1 ticks
execute player command "login %arg-1%"
send ""
send "&a&lŞifren başarıyla değişti! Keyifli oyunlar."
send ""
if {email::%player%} is set:
send email with subject "Merhaba, %player% ! %nl%Hesabının şifresi az önce değişti.%nl%Değiştiren kişinin son bilinen IP adresi: %player's ip%%nl%Bunu sen yapmadıysan, hemen hesabını kontrol et ve yetkililere ulaş.%nl% %nl%Sunucu adresimiz: {@sunucu-ip}%nl%Sitemiz: {@sunucusite}" with message "Şifreniz değişti!" to "%{email::%player%}%"
else:
send "&cYeni şifren en az 6 karekter olmalı."
command /sifremiunuttum?yedeksifre:
trigger:
delete {sifremiUnuttum::%player%::*}
if {%player%.yedekSifre} is set:
send ""
send "&6&lYedek Şifrenizi /kurtar <Yedek şifreniz> şeklinde yazınız."
send ""
set {sifremiUnuttum::%player%::yedeksifreMode} to true
else:
send "&cYedek Şifren belirlenmemiş!"
command /yedeksifre <text>:
trigger:
if length of arg-1 is greater than 5:
set {%player%.yedekSifre} to "%arg-1%"
send ""
send "&a&lYedek şifreniz başarıyla değiştirildi!"
send ""
else:
send "&cYedek Şifren en az 6 karekter olmalı!"
on join:
wait 4 ticks
send json of "&bŞifrenizi unuttuysanız buraya tıklayın&c." run "/sifremiunuttum" tooltip "&6Şifrenizi unuttuysanız tıklayın!" to player
command /mail <text>:
trigger:
if arg-1 contains "10minute":
send "&cGeçiçi mail servislerinden alınan mailler kullanılamaz."
else:
if arg-1 contains "@":
if arg-1 contains ".com" or ".net" or ".org" or ".tr":
delete {emailDogrula::*}
set {emailDogrula::%player%::mail} to "%arg-1%"
set {_1} to random integer between 1 and 9
set {_2} to random integer between 1 and 9
set {_3} to random integer between 1 and 9
set {_4} to random integer between 1 and 9
set {_5} to random integer between 1 and 9
set {_6} to random integer between 1 and 9
set {_7} to random integer between 1 and 9
set {_8} to random integer between 1 and 9
set {emailDogrula::%player%::code} to "%{_1}%%{_2}%%{_3}%%{_4}%%{_5}%%{_6}%%{_7}%%{_8}%"
if {emailDogrula::%player%::code} is "12345678" or "87654321" or "11111111" or "22222222" or "33333333" or "44444444" or "55555555" or "66666666" or "77777777" or "88888888" or "99999999":
set {_1} to random integer between 1 and 9
set {_2} to random integer between 1 and 9
set {_3} to random integer between 1 and 9
set {_4} to random integer between 1 and 9
set {_5} to random integer between 1 and 9
set {_6} to random integer between 1 and 9
set {_7} to random integer between 1 and 9
set {_8} to random integer between 1 and 9
set {emailDogrula::%player%::code} to "%{_1}%%{_2}%%{_3}%%{_4}%%{_5}%%{_6}%%{_7}%%{_8}%"
send email with subject "Merhaba, %player% ! %nl%İşte, doğrulama için gereken onay kodun;%nl%%{emailDogrula::%player%::code}%%nl% %nl%Sunucu adresimiz: {@sunucu-ip}%nl%Sitemiz: {@sunucusite}" with message "{@sunucuad} Doğrulama Kodu!" to "%arg-1%"
set {emailDogrula::%player%} to true
send ""
send "&6&lEpostana gönderdiğimiz 8 haneli doğrulama kodunu sohbete yaz!"
send ""
else:
send "&cYazdığınız alan adına ait mailler devre dışıdır."
else:
send "&cLütfen düzgün formatta mail adresi giriniz."
on chat:
if {emailDogrula::%player%} is true:
cancel event
if {emailDogrula::%player%::code} is "%message%":
set {email::%player%} to "%{emailDogrula::%player%::mail}%"
delete {emailDogrula::*}
send ""
send "&a&lEposta adresiniz başarıyla onaylandı ve hesabınıza eklendi!"
send ""
else:
send "&cEmail doğrulama kodunu yanlış girdin!"
command /mailList:
permission: op
trigger:
loop {email::*}:
add 1 to {_mailCount}
wait 0.4 ticks
send "&8&l> &e&lToplam mail adresi sayısı: &c%{_mailCount}%"
Eğer kod hata veriyor veyahut çalışmıyor ise aşşağıdaki linkten en güncel versiyonunu kopyalayıp kullanın.
TIKLA GİT ->
TEST SUNUCUSU
play.LifeMCServer.com
Konuyu okuduğunuz için teşekkürler
TIKLA GİT ->
TEST SUNUCUSU
play.LifeMCServer.com
Konuyu okuduğunuz için teşekkürler
Son düzenleme: