minecrafttr aramıza katil!
batihost minecraft server kirala
Satın Al
MinecraftTR Reklam Alanı
Satın Al
Satın Al
Satın Al

Paylaşım Şifremi Unuttum Skripti! E-Mail ve Yedek Şifre ile Hesap Kurtarma!

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Yeni bir Steve doğdu!
Katılım
31 Mayıs 2018
Mesajlar
130
Tepki puanı
328
Puanları
0
Discord
mkD39V.png

Bilgi & Açıklama:

mkD39V.png


Ş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.

mkD39V.png

Komutlar & Yetkiler:

mkD39V.png


/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".


mkD39V.png

Ekran Görüntüleri:
mkD39V.png


(DL Güvenlik Şifresi ile kurtarma benim sunucuma özgü birşey paylaştığım versiyonda yok.)
nWqg40.png


vpBL3v.png


1gAkRA.png


Lnq4jj.png


Prboj9.png


gW1AQ3.png


r2bVG7.png


7NGbj5.png


mkD39V.png

Skript Kodu & Kurulum:
mkD39V.png


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. ve 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. no-reply@lifemcserver.com)
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.



mkD39V.png


Konuyu okuduğunuz için teşekkürler :)
mkD39V.png
 
Seçkin madenci.
Katılım
18 Haziran 2018
Mesajlar
124
Tepki puanı
32
Puanları
1,200
Discord
Gayet güzel bir skript.
 
Zzz
Katılım
1 Haziran 2018
Mesajlar
199
Tepki puanı
181
Puanları
1,300
Discord
alqnbei#1337
Sunucu açarsam kullanıcam eline sağlık
 
Yeni bir Steve doğdu!
Katılım
31 Mayıs 2018
Mesajlar
130
Tepki puanı
328
Puanları
0
Discord
Yeni bir Steve doğdu!
Katılım
10 Eylül 2018
Mesajlar
67
Tepki puanı
17
Puanları
0
Discord
Ayakta alkışlıyorum heleki kendi web siten üzerinden kodları paylaştığın için çok teşekkür ederim en azından kodlar kaybolmuyor ve sürekli güncel kalıyor :)
 
Yeni bir Steve doğdu!
Katılım
31 Mayıs 2018
Mesajlar
130
Tepki puanı
328
Puanları
0
Discord
Ayakta alkışlıyorum heleki kendi web siten üzerinden kodları paylaştığın için çok teşekkür ederim en azından kodlar kaybolmuyor ve sürekli güncel kalıyor :)

Yorumun için teşekkürler, aynı fikirdeyim ve zaten bu yüzden siteme koydum :D
 
Yeni bir Steve doğdu!
Katılım
10 Eylül 2018
Mesajlar
67
Tepki puanı
17
Puanları
0
Discord
Yorumun için teşekkürler, aynı fikirdeyim ve zaten bu yüzden siteme koydum :D
bu arada skripti sunucuma kurdum sunucu sürümüm Paper-1.12.2-b1574 ve belirttiğin addonları kurdum /sifremiunuttum yazınca tıklanabilir yazılar gelmiyor sebebi nedir ?
Kod:
20:04:28 [INFO] [Skript] Reloading sifremiunuttum.sk...
20:04:28 [SEVERE] Can't understand this condition/effect: send json of "&71. &bYedek ?ifre ?le Kurtar" run "/sifremiunuttum?yedeksifre" tooltip "&6Hesab?n? Yedek ?ifren ?le Kurtar!" to player (sifremiunuttum.sk, line 11: send json of "&71. &bYedek ?ifre ?le Kurtar" run "/sifremiunuttum?yedeksifre" tooltip "&6Hesab?n? Yedek ?ifren ?le Kurtar!" to player')
20:04:28 [SEVERE] Can't understand this condition/effect: send json of "&72. &cMail'ine Gelen Kod ?le Kurtar" run "/sifremiunuttum?mail" tooltip "&6Hesab?n? Mail Adresin ?le Kurtar!" to player (sifremiunuttum.sk, line 13: send json of "&72. &cMail'ine Gelen Kod ?le Kurtar" run "/sifremiunuttum?mail" tooltip "&6Hesab?n? Mail Adresin ?le Kurtar!" to player')
20:04:28 [WARNING] the 1st argument is already a text, so you should not put it in one (e.g. the 1st argument instead of "%the 1st argument%") (sifremiunuttum.sk, line 106: set {%player%.yedekSifre} to "%arg-1%"')
20:04:28 [SEVERE] Can't understand this condition/effect: send json of "&b?ifrenizi unuttuysan?z buraya t?klay?n&c." run "/sifremiunuttum" tooltip "&6?ifrenizi unuttuysan?z t?klay?n!" to player (sifremiunuttum.sk, line 114: send json of "&b?ifrenizi unuttuysan?z buraya t?klay?n&c." run "/sifremiunuttum" tooltip "&6?ifrenizi unuttuysan?z t?klay?n!" to player')
20:04:28 [WARNING] the 1st argument is already a text, so you should not put it in one (e.g. the 1st argument instead of "%the 1st argument%") (sifremiunuttum.sk, line 123: set {emailDogrula::%player%::mail} to "%arg-1%"')
20:04:28 [WARNING] the 1st argument is already a text, so you should not put it in one (e.g. the 1st argument instead of "%the 1st argument%") (sifremiunuttum.sk, line 143: 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%"')
20:04:28 [WARNING] the chat message is already a text, so you should not put it in one (e.g. the chat message instead of "%the chat message%") (sifremiunuttum.sk, line 155: if {emailDogrula::%player%::code} is "%message%":')
20:04:29 [WARNING] Delays less than one tick are not possible, defaulting to one tick. (sifremiunuttum.sk, line 168: wait 0.4 ticks')
20:04:29 [INFO] [Skript] Encountered 3 errors while reloading sifremiunuttum.sk!
 
Yeni bir Steve doğdu!
Katılım
31 Mayıs 2018
Mesajlar
130
Tepki puanı
328
Puanları
0
Discord
bu arada skripti sunucuma kurdum sunucu sürümüm Paper-1.12.2-b1574 ve belirttiğin addonları kurdum /sifremiunuttum yazınca tıklanabilir yazılar gelmiyor sebebi nedir ?
Kod:
20:04:28 [INFO] [Skript] Reloading sifremiunuttum.sk...
20:04:28 [SEVERE] Can't understand this condition/effect: send json of "&71. &bYedek ?ifre ?le Kurtar" run "/sifremiunuttum?yedeksifre" tooltip "&6Hesab?n? Yedek ?ifren ?le Kurtar!" to player (sifremiunuttum.sk, line 11: send json of "&71. &bYedek ?ifre ?le Kurtar" run "/sifremiunuttum?yedeksifre" tooltip "&6Hesab?n? Yedek ?ifren ?le Kurtar!" to player')
20:04:28 [SEVERE] Can't understand this condition/effect: send json of "&72. &cMail'ine Gelen Kod ?le Kurtar" run "/sifremiunuttum?mail" tooltip "&6Hesab?n? Mail Adresin ?le Kurtar!" to player (sifremiunuttum.sk, line 13: send json of "&72. &cMail'ine Gelen Kod ?le Kurtar" run "/sifremiunuttum?mail" tooltip "&6Hesab?n? Mail Adresin ?le Kurtar!" to player')
20:04:28 [WARNING] the 1st argument is already a text, so you should not put it in one (e.g. the 1st argument instead of "%the 1st argument%") (sifremiunuttum.sk, line 106: set {%player%.yedekSifre} to "%arg-1%"')
20:04:28 [SEVERE] Can't understand this condition/effect: send json of "&b?ifrenizi unuttuysan?z buraya t?klay?n&c." run "/sifremiunuttum" tooltip "&6?ifrenizi unuttuysan?z t?klay?n!" to player (sifremiunuttum.sk, line 114: send json of "&b?ifrenizi unuttuysan?z buraya t?klay?n&c." run "/sifremiunuttum" tooltip "&6?ifrenizi unuttuysan?z t?klay?n!" to player')
20:04:28 [WARNING] the 1st argument is already a text, so you should not put it in one (e.g. the 1st argument instead of "%the 1st argument%") (sifremiunuttum.sk, line 123: set {emailDogrula::%player%::mail} to "%arg-1%"')
20:04:28 [WARNING] the 1st argument is already a text, so you should not put it in one (e.g. the 1st argument instead of "%the 1st argument%") (sifremiunuttum.sk, line 143: 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%"')
20:04:28 [WARNING] the chat message is already a text, so you should not put it in one (e.g. the chat message instead of "%the chat message%") (sifremiunuttum.sk, line 155: if {emailDogrula::%player%::code} is "%message%":')
20:04:29 [WARNING] Delays less than one tick are not possible, defaulting to one tick. (sifremiunuttum.sk, line 168: wait 0.4 ticks')
20:04:29 [INFO] [Skript] Encountered 3 errors while reloading sifremiunuttum.sk!

Json mesajları için skQuery kullanmıştım, düzenleyip json-chat tarzı başka bir eklentiye göre uygulayabilirsin.
 
<3 Linux
Katılım
24 Haziran 2018
Mesajlar
69
Tepki puanı
25
Puanları
1,035
Discord
7485#7485
Çok anlamlı. Gelişmiş. Devamını dilerim (y):cool:.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Üst