Rehber | İnternetten Kayıt | MySQL | Domain | Web Hosting | PHP | Örnek Web Site

Ataberk1880

Işık Taşı Madencisi
Mesajlar
3,352
En iyi cevaplar
1
Beğeniler
819
Puanları
1,840
Ruh hali
Açılış;
Merhaba arkadaşlar. Uzun bir aradan sonra 2. Rehber konumu son zamanlarda artan internet üzerinden sunucuya oyuncu kayıt istekleri üzerine yazmaya karar verdim. Ve tabi ki tek rehberde tek bir bilgi vermeyi sevmediğim için gerekli bir kaç bilgi ile birlikte rehberimi hazırlıyorum. Hem ezber iş yapmanızı engellemeyi hem de bir kaç bilgi öğrenmenizi sağlamayı amaçlıyorum.

Ön Söz;
Bu rehberi istediğiniz yerde kullanabilirsiz. Alıntı olarak göstermeniz sizin vicdanınıza ve emeğe saygınıza kalmış bir durum. Benim için önemli olan başkalarınında billgiye kavuşması ve bir de beğenileriniz :)
Ayrıca bu aşamaları en az ücret (Bedava) ile sıyırmanızı sağlamak için birçok araştırma yaptım. :)
Öncelikle bazı terimleri tanımlayayım:
MySQL: Bir veribankası tabanlı sorgu dilidir.
Web Hosting: İnterntte bilgileri ve verileri Domain üzerinden sunmanıza yarayan sunucu tipi.
Domain: Alan adıdır. Örneğin forum.minecraftturk.com bir alan adıdır.

İnternetten Kayıt;

Gerekenler;
- Bir MySQL sunucu,
- Bir Web hosting,
- Bir web hosting e bağlı domain,
- Biraz PHP bilgisi,
- Biraz da MySQL bilgisi.

Bunları teker teker anlatarak gideceğim için hiç bilmeyenlerde konuyu okumaya devam etsin.
İlk 3 madde bir vds/vps MineCraft sunucusu kiralamış/Satın almış kişilere Hosting tarafından verilebiliyor. Eğer bunlara sahipseniz direk php ve MySQL öğrenimine geçebilirsiniz. Fakat birçok kişi bunlara sahip değildir.

Bir MySQL sunucusu;
Bu adım için isterseniz localhost'unuzda bir MySQL sunucu kurabilirsiniz. Fakat sitenizide localhost'unuzda kurup internete sunmalısınız. Eğer istek olursa bu aşamaları da anlatabilirim.
Bir MySQL sunucusu bir kaç şekilde alınabilir. İlki yukarıda dediğim gibi sunucunun yanında verilebilir. İkincisi MySQL sunucuları için açılmış özel sunuculardan alınabilir. Veya Web hostingin sunduğu kendi MySQL i kullanabilirsiniz. İlkini atlıyorum çünkü yukarıda onların bu aşamayı atlamasını söylemiştim.

İkindi için bazı siteler mevcut:
db4free.net gibi siteler internet kullanıcılarının bedava MySQL sunuculara sahip olmasını sağlayabilir. Buraya üye olduktan sonra sunucunuza sahip olabilirsiniz.
Db4free.com üyelik formu;


Sunucuya sahip olduktan sonra e-posta adresinize MySQL sunucunuzun bilgileri otomatik olarak gönderilecektir. Onları sakın kaybetmeyin.
3. Olarak Web hosting seçeneği geliyor. Bunu Web Hosting bölümünde anlatacağım. O Yüzden Web hosting e geçelim artık.

Bir Web Hosting;

Bedava web hosting bulmak çok kolaydır. Ben bir iki örnek vermek istiyorum:
- 3jelly.com
- www.hostinger.web.tr
Gibi siteler bedava web sunucusu sunabiliyor. Bunlara üye olduktan sonra sunucunuza doğrudan sahip olabiliyorsunuz. Tabi bedava bana uymaz ben para ödemek istiyorum derseniz ücretli olanlarıda bulabilirisniz.
Ben 3jelly.com üzerinden anlatacağım:
Önce üye olun: http://3jelly.com/signup.php
Sing Up Now! a bastığınızda bir form çıkar. O formu doldurun.
Kayıt oldunuz. Ve Giriş yaptınız. Control Panel soldan ikinci sırada bulut simgeli kutucuktur. Oraya tıklayın. Create A New Account diyerek bir sunucu oluşturma kısmına geçeceğiz. Free Jelly Host da kalsın ve devam edin. Domain e getirin. Şimdi sizden bir domain isteyecek fakat daha bir domainimiz yok. Neyseki bu aşamada gerek yok :) Aklınızdaki her hangi bir domaini yazabilirisiniz. Fakat şimdi yapıyorsanız yapmayın ve Domain anlatımıma kadar sabredin çünkü domain paralı olabilir. Buraya geri dönebiliriz fakat şu ana kadar karşılaştığım sadece bir tane bedava domain vardı o da .tk. Kısaca domaininizi .com gibi şâşâlı bir format ile yazmayacaksanız .tk yazın. .com gibi yazacak olanlar biraz para ödekmeliler. Oraya geleceğim. Şimdi parolayı yazın cathca yı doldurun ve create e basın. Sunucumuz tamam.
3jelly.com MySql bölümünden alıntı;

Şimdi Domain;

Bir Domain;

Dediğim gibi bununda bedava olanları ve paralı olanları var. .tk uzantılılar bedava bulunabilir fakat diğerleri paralı. Paralı olanları sunan birçok sunucu var. Fakat kullanmadığım için öneride bulunamayacağım. Kısaca bedava seçenekten devam edelim. Dot.tk adresinden .tk li domaininizi alabilirisniz. Fakat 1 yıllığına. Tabi bir kaç tane domain de alabiliyorsunuz. Benim stratejim 1 yıl dolunca yeni bir domain alarak onu kullanmak. Size de onu öneririm. Şidmi karşınıza bir input çıktı. Domaininizin adını soruyor olmalı. Web sunucunuza girdiğiniz domain adresini buraya girin. Tabi bu aşamada ücretli alacak olanlar dot.tk ye girmelerine gerek yok. GO ya bastığınızda bu domain kullanılmıyorsa bir form çıkar karşınıza burası biraz önemli. Yeni alan adını kullan kısmındaki DNS kullanı işaretleyin. İşte burası önemli burada hata yaparsanız kullanamazsınız ve düzeltmeniz gerekir. Size özel DNS ye basın. Host adı kısmına Web hostinginizin Nameserver Details adı altında verdiği bilgileri gireceğiz.
Bu bilgiler 3jelly.com da ns1.3jelly.com ile başlar. ns1 ve ns2 yi sırasıyla host name kısmına koyun ip kısımlarına ise web hostinginizin onlar için koyduğu ipleri yazın.
Rehber fotoğraf;


kalan kısımları doldurun ve kayıt ol a basın. Ben google hesabım ile giriş yapıyorum ama siz kendi kararınızı verin. Giriş yaptıktan sonra go to domains e tıklayın ve domaininizi görün. Bu aşamada domaininizi test edebilirisiniz. Test edin eğer bir sayfa çıkıyor veya uzun süre yükleniyorsa (normal bir web sitenin yüklendiğinden fazla) sorun yok demektir. Eğer karşınıza bir hata kodu çıktıysa bir kaç sebebi olabilir ya önemli dedğim yerde bir yanlışlık yaptınız ya da web hosting ile domain daha eşleşmedi. Biraz belkeyerek tekrar deneyin. Düzelmezse go to domains kısmındaki domaininizin üstüne tıklayarak Custom DNS den düzeltmelerinizi yapabilirisniz.
Şimdi teknik olarak her şey hazır. Sıra PHP bilgisinde;

PHP Bilgisi;

PHP bilgisi bir sayfa hazırlamak için yeterli seviye kadar olması yeterlidir. Öncelikle gerekli olanları sıralayalım;
- Bir İndex: Buradan giriş , kayıt, kurallar, yardım, iletşim gibi sayflara yönlendirme sağlanır.
- Bir kayıt formu (İnputlar ile veri alınır POST metadu ile gönderilir.) Eğer aşağıdakilerden ayrı bir sayfa ise Diğer sayfalara göndermeyi ve diğer sayfalrda bu verileri POST metadu ile almayı unutmayın. Alınan verileri değişkene atamak kullanışlı olur.
- Bir kontrol sayfası (Bu sayfa genelde kayıt formu ile birliktedir. Burası "her boşluğu doldurun" veya "doğru düzgün karakter kullanın" diyebileceğiniz yerdir.)
- Bir MySQL e kayıt sayfası (Bu da genelde kontrol sayfasındadır.)
- İsteğe bağlı bir giriş sayfası (MySQL sorgusu yapabilen hata verebilen ve hataya göre tepki gösteren. Örn: "böyle bir üye yok"==> "Kayıt olun" > include kayıt sayfası)
- İsteğe bağlı bir kurallar ve iletişim sayfası.
Bu sayfaları tamamlayın ve bekleyin. Ayrıca gereken yerlerde MySQL bağlantılarını yapmayı unutmayın. Bu bölümde bilmeyenler için takılmak doğaldır. Bana bu konu altından danışırsanız yardım ederim. Veya buraya kaynak kodları koyabilirim. Fakat şimdi değil.

MySQl bilgisi;

MySQL hakkında bilmemiz gereken çok bir şey yok. MySQL sunucunuzdan phpMyAdmin e girin. Karşınıza bir arayüz çıkacaktır. Boştur muhtemelen. Tablo ekley e basarak bir tablo oluşturun. Bu tabloya input ile aldığınız verileri yazacağınız için bu gardi başlıkları php kodlamanızdaki ile aynı olmak zorunda yoksa kayıt edemezsiniz. İlk önce id olmak üzere kullaniciadi, sifre, eposta, nickname, yas, isim, adres, ... gibi girdileri yazın. İd ye gelin ve a_u ya bir tik atın. Ve bunu primery key yapın. Diğer ayarlar sizin isteiğinize göre (Karakter sınırlandırması ve Türkçe karakter desteği gibi).

Bir web sitenin kayıt için kullanacağı MySQL tablosu;


Kayıt eklendiğindeki görünümü;


Bunuda bitirdiniz. Artık her şey neredeyse hazır. Şimdi gelelim AuthMe pluginine.

AuthMe;

Yapacağımız şey AuthMe'nin sitemiz üzerinden kullanıcı kaydı yaptığımız veri bankasını sitemiz gibi okuyup yorumlamasını sağlamak. Fakat bazı MySQL sunucuları sadece belirli ip'lerin bağlanamasına izin veriyor. Kendinizinkinin böyle olup olmadığını kontrol edin. Böyle ise düzeltin gerekirse başka bir MySQL sunucu alın.
MySQL sunucunuzun "kaybetmeyin" dediğim bilgilerini burada kullanacağız. Bazılarıda sizin phpMyAdmin den açıtığınız tablo ile ilgili.
Bu aşamada tüm iş config.yml'de geçiyor: (Kaynak: http://dev.bukkit.org/bukkit-plugins/authme-reloaded/pages/configure-auth-me/)
(Resimli anlatım geldiğinde tanımların yanındaki nurmaralardan resimleri tarayabilirsiniz.)
DataSource:
# Bu php kodlamanızdaki kullanıcı adı olarak aldığınız verinin kayıt edildiği sıranın adı; (Genelde kullaniciadi olur. En azından ben öyle kullanıyorum.)
mySQLColumnName: ....//\\....
# MySQL içinde açtığını tablonun adı;
mySQLTablename: ....//\\....
# Bu MySQL'inize bağlanmak için kullandığınız kullanıcı adı;
mySQLUsername: ....//\\....
# Şu şekilde kayıt edilsin : file, sqlite, mysql
backend: mysql (Size uygun olanı seçin)
# Bu, sunucunuzdaki kullanıcıların çıktığı zamanın kaydedileceği satırın adı;
mySQLColumnLastLogin: songiris (Sizin tablonuzdaki satır adını yazın)
# Bu veri bankanızın adı. (DataBase Name olarak geçer)
mySQLDatabase: authme
# Veri bankanızın kullandığı port.
mySQLPort: '3306'
# Oyuncuların ip'lerinin kaydedileceği satırın adı;
mySQLColumnIp: ip
# MySQL sunucunuzun adı;
mySQLHost: mysql.jell3.com (jelly.com üzerinden anlattığım için bunu yazdım. Siz kendi MySQL sunucunuzun adını yazın.)
# Oyuncuların şifrelerinin kayıt edildiği satır. (Bu php kodlamanızdaki şifre inputunun kayıt yeri ile aynı olmalı)
mySQLColumnPassword: sifre
# Veri Banaknıza bağlanmak için kullandığınız şifre;
mySQLPassword: '....//\\....'
# Her veriyi ön belleğe almalı mıyız ? multiThreading açıksa önerilmez;
caching: true (Kendinize uygun olanı seçin)
# Son konumun x doğrultusunun kayıt satırı;
mySQLlastlocX: x
# Son konumun y doğrultusunun kayıt satırı;
mySQLlastlocY: y
# Son konumun z doğrultusunun kayıt satırı;
mySQLlastlocZ: z
# Kullanıcının çıkarken hangi dünyada ollduğunun kaydedildiği satır;
mySQLlastlocWorld: world
# Kullanıcıların e-postalarının kaydedildiği satır;
mySQLColumnEmail: email
# Bu ise verilerin sıralanma etkeninin satırı. (Bunu varsayılan olarak id bırakabilir veya kendinize uygun bir ayar yapabilirisiniz. İd yapacaksanız auto increase e tik atmayı unutmayın.)
mySQLColumnId: id

Eğer Web ile AuthMe'yi ilişkilendirecekseniz; web kayıdında kullandığınız kontrol sayfalarını (Hem giriş hem kayıt) AuthMe'nin şifreleme metoduna uygun şekilde düzenlemeniz gerekir. Eğer yapmazsanız; siteden kayıt olan sunucuya, sunucudan kayt olan kişi web siteye kullandığı şifre ve kullanıcı ismi ile giremez.

MySQL'ini AuthMe ile ilişkilendirecek olanların tablosunun son hali;


Örnek Web Site;

Yukarıda anlattığım bedava yollar ile oluşturduğum ve MySQL i daha iyi anlamanız için sunduğum web site:
www.bb-minecraft.tk
Kayıt Ol, Giriş, Market, Canlı Harita, Kurallar gibi sayfalar mevcut fakat ben eklemedim çünkü bir sunucum yok. Kayıt ol ve giriş dışındakiler çalışmayacaktır. Tema bana ait değildir. Yapabilen kişiler internet üzerinden web sitemin sayfalarını çalabilirler. Fakat kendimin ve sunucularımın güvenliği için MySQL ve diğer bazı verileri gizledim. Çalan kişiler yeniden eklemeyi unutmasın.

Yeni yazılan bir Rehberde biraz daha bilgi bulabilrisniz. @onur9298 'e teşekkürler:
https://forum.gamer.com.tr/konu/authme-siteden-kayıt-olma-giriş-ve-Şifre-değiştirme-hazır-script.191275/

Ayrıca unutmadan kayıt olmak ve giriş yapmak çalışıyor. Şu an kendi kaydım olan Ataberk kullanıcı adını ve şifresi olan 98761241 i giriş yapmak için kullanabilirsiniz. Giriş yaptığınızda profil menüsü açılacaktır. Profil menüsünde SurvivalGames (HungerGames) sunucumda MySQL e bağlı survival games pluginin kayıtlarını (Oynama sayısı, Ödül vb.) görebilirisniz.

Web site hakkında sorularınız ve istekleriniz için bana özel mesaj ile ulaşabilirsiniz.

Herkese başarılar dilerim. İyi Forumlar.
 


Son düzenleme:

Ataberk1880

Işık Taşı Madencisi
Mesajlar
3,352
En iyi cevaplar
1
Beğeniler
819
Puanları
1,840
Ruh hali
==========Yapılacaklar Listesi==========
- AuthMe anlatımı eklenek. (Yarın (02.02.2014))
- Gerekli yerlere resimli anlatım eklenecek. (2'si ve 3'ü) (1 gün erken)
-Tam sürüm kodlama (Her hangi bir kaynak bulunmadığı için kendim yazacağım, uzun sürecektir.) Bir sunucun kullanacağı sayfaların kodlaması. *
- Örnek web sitem (Tam sürüm kodlama bittiğinde bu sitede sunacağım.) (Yaklaşık 1 hafta)**

- Kodlamalar (05.02.2104) (+) (2 gün erken)
- Kayıt (+)
- Giriş (+)
- Oturum açma (+)
- MySQL verilerini okuyup yazma örnekleri (+)
- SurvivalGames'i MySQL'e bağlama ve kayıtları okuma (Rewards gibi verileri okuma) (+)
- Görsellik (Yaklaşık 1 hafta)

===============================
* Tam sürüm kodlamaları konuma eklemeyi şimdilik düşünmüyorum. Bunu doğrudan sunmak plugin paketi yapmaktan farklı görmüyorum ve plugin paketi felsefesine de zıt düşen biriyimdir. Ben birinin benim yapıtlarımı kullanmasını değil benim ona öğrettiklerimle kendi yapıtlarını yapmasını sağlamaktan yanayım. Diğer türlü usta - çırak ilişkisi sınırlandırılır ve yaratıcılıık buna bağlı olarakta üretkenlik düşer. Umarım anlatabilmişimdir. Zaten örnek web site yaptığımda sayfalar da dahil olmak üzere tüm ilişkili resimler .css stil dosyalarıyla beraber alınabilir olacak. Alabilen alır.

** Elimden geldiğince hızlı bitirmeye çalışacağım. En geç 7-8 gün sürer. En erken 02.02.2014 - 03.02.2014 tarihlerinde sunarım.
 
Son düzenleme:

emrah4434

Obsidyen Madencisi
Mesajlar
1,326
En iyi cevaplar
0
Beğeniler
251
Puanları
900
Ruh hali
Bilmeyenler için iyi oldu teşekkürler.[DOUBLEPOST=1391378105,1391247651][/DOUBLEPOST]Size bir şey soracağım serverimizde şuanda normal authme kayıt sistemi var yani authme dosyasına kaydediyor kayıtları biz mysql nasıl aktarabiliriz bu kayıtları yoksa otomatik kendisi aktarıyor mu?
 

Ataberk1880

Işık Taşı Madencisi
Mesajlar
3,352
En iyi cevaplar
1
Beğeniler
819
Puanları
1,840
Ruh hali
auths.db dosyasını olduğu gibi import etmeniz yeterlidir. MySQL inizin phpMyAdmin sayfasından yapabilirsiniz.
 

Ataberk1880

Işık Taşı Madencisi
Mesajlar
3,352
En iyi cevaplar
1
Beğeniler
819
Puanları
1,840
Ruh hali
Daha açıklayıcı yazabilir misiniz?
MySQL veribankanızın phpMyAdminine girdikten sonra yukarıdaki menüden import a basın. Sonrada gözat seçeneğinden o dosyayı seçin.
PhpMyAdmininizi MySQL sunucunuzda bulabilirsiniz.[DOUBLEPOST=1391437076,1391382005][/DOUBLEPOST]Rehber ile ilgili tüm eksikler tamamlanmış ve örnek site eklenmiştir. Okuyan kullanıcılar eksik olan kısımları veya anlatıma eklenmesini isteiği konuları bana bildirebilir. Teşekkürler. Herkese başarılar. İyi Forumlar.
 

Ataberk1880

Işık Taşı Madencisi
Mesajlar
3,352
En iyi cevaplar
1
Beğeniler
819
Puanları
1,840
Ruh hali
Bizim serverinkini bağlayabilirsin https://minecraft.nitrado.net/map/85.131.197.181
Bide kullanıcı adı yerine minecraft id kullansan daha iyi olurdu bide kayıt formunun php kodlarını paylaşsan daha iyi olurdu ama buda iyi teşekkürler.
Haritayı aktaracağım. Kullanıcı adı yerine MineCraft ID de mantıklı. Onu da düşüneceğim :D Php kodlarına gelirsek insanların her şeyi kolay yoldan bulma hevesi yüzünden koymadım. Ama erişimi de engellemedim. Buraya koysaydım kopyala yapıştırdan farklı bir şey olmayacaktı. Ki ben bu rehberi insanlar kopyalasın diye değil öğrensin diye yazdım yani bir zahmet okusunlar :D Erişimi engellemedim demiştim, isteyenler çok kolay yollar ile ulaşabilirler. Sadece güvenlik için MySQL kodlarını gizledim. Yerinde
<!-- Histats.com START (hidden counter)--> ile başlayan ve
<!-- Histats.com END --> ile biten bir kodlar dizi görecekler. Ayrıca sadece php kodlarına değil temaya ve css lerede ulaşabilirler. Sana da her şey için teşekkür ederim.[DOUBLEPOST=1391438116,1391438008][/DOUBLEPOST]Ayrıca haritanda bir sorun olabilir mi? Çünkü beni nitrado nun 404 sayfasına atıyor
 

emrah4434

Obsidyen Madencisi
Mesajlar
1,326
En iyi cevaplar
0
Beğeniler
251
Puanları
900
Ruh hali
Haritayı aktaracağım. Kullanıcı adı yerine MineCraft ID de mantıklı. Onu da düşüneceğim :D Php kodlarına gelirsek insanların her şeyi kolay yoldan bulma hevesi yüzünden koymadım. Ama erişimi de engellemedim. Buraya koysaydım kopyala yapıştırdan farklı bir şey olmayacaktı. Ki ben bu rehberi insanlar kopyalasın diye değil öğrensin diye yazdım yani bir zahmet okusunlar :D Erişimi engellemedim demiştim, isteyenler çok kolay yollar ile ulaşabilirler. Sadece güvenlik için MySQL kodlarını gizledim. Yerinde
<!-- Histats.com START (hidden counter)--> ile başlayan ve
<!-- Histats.com END --> ile biten bir kodlar dizi görecekler. Ayrıca sadece php kodlarına değil temaya ve css lerede ulaşabilirler. Sana da her şey için teşekkür ederim.[DOUBLEPOST=1391438116,1391438008][/DOUBLEPOST]Ayrıca haritanda bir sorun olabilir mi? Çünkü beni nitrado nun 404 sayfasına atıyor
Tamam anladım nasıl alacağımı harita yada bakıyorum harita şuanda yeniden hesaplanıyor onun için öle atıyor siz koyun yakın zamanda açılır map.
 

Ataberk1880

Işık Taşı Madencisi
Mesajlar
3,352
En iyi cevaplar
1
Beğeniler
819
Puanları
1,840
Ruh hali
Tamam anladım nasıl alacağımı harita yada bakıyorum harita şuanda yeniden hesaplanıyor onun için öle atıyor siz koyun yakın zamanda açılır map.
Tamamdır. Harita ile ilgileniyorum. Almayı başardığınızda bir yerde paylaşmayın veya nasel aldığınızı söylemeyin, tek isteğim. Zaten çok kolay onu da kendileri yapsın :D[DOUBLEPOST=1391438789,1391438541][/DOUBLEPOST]Haritanız eklendi.
 

emrah4434

Obsidyen Madencisi
Mesajlar
1,326
En iyi cevaplar
0
Beğeniler
251
Puanları
900
Ruh hali
Tamamdır. Harita ile ilgileniyorum. Almayı başardığınızda bir yerde paylaşmayın veya nasel aldığınızı söylemeyin, tek isteğim. Zaten çok kolay onu da kendileri yapsın :D[DOUBLEPOST=1391438789,1391438541][/DOUBLEPOST]Haritanız eklendi.
Daha alamadım alcam ama :D tamam paylaşmam ama php kayıt script yapılması için bir konu yazmayı planlıyorum.
 

SimasJasin

Taş Madencisi
Mesajlar
97
En iyi cevaplar
0
Beğeniler
7
Puanları
0
örnek sitenin dosyalarını bana verirsen çok çok mutlu olurum
 

SimasJasin

Taş Madencisi
Mesajlar
97
En iyi cevaplar
0
Beğeniler
7
Puanları
0
bir şey diyicem bugün bir çekirdek server açılışı yapıcam ama internet sitesi yetişmedi birisi bana yardım edebilirmi
 

Üst