1. Bu site çerezler kullanır. Bu siteyi kullanmaya devam ederek çerez kullanımımızı kabul etmiş olursunuz. Daha Fazla Bilgi.
  2. Merhaba Ziyaretçi foruma kayıt olarak hediye kodu alabilirsin!
  3. Merhaba Ziyaretçi ! IP: play.LifeMCServer.com SkyBlock Sürüm: 1.7.X-1.8.X Senide aramızda görmek isteriz. (Çarpıya basarak duyuruyu kapatabilirsiniz, bir daha açılmayacaktır!!)

Duyuru LifeMC API Aktif! Canlı Bilgi & İstatistikler

'Duyurular & Kurallar' forumunda TheDark_Gamer tarafından 24 Mart 2018 tarihinde açılan konu

Etiketler:
  1. TheDark_Gamer

    TheDark_Gamer #TheDGOfficial. Sunucu Sahibi Forum Kurucusu

    Katılım:
    19 Mart 2017
    Mesaj:
    1,429
    Alınan Beğeniler:
    2,178
    Ödül Puanları:
    728
    Nick:
    TheDark_Gamer
    Gerçek ad:
    Mustafa ÖNCEL
    Skype :
    mustafaoncel92
    Herkese Merhabalar!

    Başlıktan da göreceğiniz üzere; LifeMC API Çıktı!
    Bugün size LifeMC API'den bahsedeceğim.

    İlk olarak tüm API requestleri web requestler üzerinden yapılır ve her request'de ilişkili kullanıcının kullanıcı adı ve şifresi bulunmak zorundadır. Tüm requestler PHP ile işlenir. API'nin kullanılabilmesi için URL'de ki kullanıcı adına ait bir hesap olması ve bu hesabın daha önceden /lifemcapp yazarak kendini API Veritabanı'na kaydetmiş olması gerekmektedir.

    EK: Tüm requestler SSL / HTTPS üzerinden yapılmak zorundadır!

    1. Login API

    Request sayfası:
    Linkleri görebilmek için sitemize kayıt olmalısın.

    Request methodu:
    GET

    Request headerları:
    Content-Type: application/json

    Query string parametreleri:
    ?'den sonraki kısma kullanıcı adı,
    &password='den sonraki kısma şifre gelecek.

    Çıktı:

    SUCCESS - Giriş başarılı
    NO_USER - Böyle bir kullanıcı yok
    WRONG_PASSWORD - Yanlış şifre
    MAX_TRIES - Çok fazla giriş denemesi yapıldığından 3dk boyunca IP-ban
    ERROR - Beklenmedik hata

    2. Information API

    Request sayfası:
    Linkleri görebilmek için sitemize kayıt olmalısın.

    Request methodu:
    GET

    Request headerları:
    Content-Type: application/json

    Query string parametreleri:
    ?'den sonraki kısma kullanıcı adı,
    &password='den sonraki kısma şifre gelecek.

    Çıktı:

    Bilgiler doğru ise aşağıdaki çıktıyı verir:

    (Örnek olsun diye kendi çıktımı verdim.)
    PHP:
    Hepsini Seç
    1.  
    2. {
    3.    "userInfo": {
    4.  
    5.          "islandLevel": 126675,
    6.          "money": "101990345.99",
    7.          "credit": 0,
    8.          "ironsps": 6,
    9.          "diasps": 0,
    10.          "profileLike": 4081,
    11.          "profileFollow": "420"
    12.  
    13.    }
    14. }
    15.  
    Çıktı JSON şeklindedir. userInfo altında bilgiler yer almaktadır. Veri tipleri ve değer açıklamaları aşağıda yer almaktadır:

    islandLevel - Integer - Ada Leveli
    money - String - Para
    credit - Integer - Kredi
    ironsps - Integer - Iron SP Sayısı
    diasps - Integer - Elmas SP Sayısı
    profileLike - Integer - Profil Beğenme Sayısı
    profileFollow - String - Profil Takip Sayısı (ProfilV2 yok ise -1 döndürür)

    Eğer bilgiler doğru değil ise aşağıdaki çıktılardan birisi gelmektedir:

    NO_USER - Böyle bir kullanıcı yok
    WRONG_PASSWORD - Yanlış şifre
    MAX_TRIES - Çok fazla giriş denemesi yapıldığından 3dk boyunca IP-ban
    ERROR - Beklenmedik hata

    3. Örnek Kodlar (Java)


    Dikkat: Aşağıda ki kodu çalıştırabilmek için org.json library'sine ihtiyacınız var.

    <dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20180130</version>
    </dependency>



    Linkleri görebilmek için sitemize kayıt olmalısın.

    Girip en üstteki versiyonu "Download json.jar" yazısına tıklayıp indirin.


    Eğer jar indirdiyseniz build path'e eklemeyi unutmayın.

    Kod (Javascript):
    1.  
    2. // Paket adresi
    3. package com.lifemcserver.lifemc;
    4.  
    5. // Genel java importları
    6. import java.io.BufferedInputStream;
    7. import java.io.BufferedReader;
    8. import java.io.InputStream;
    9. import java.io.InputStreamReader;
    10. import java.net.URL;
    11. import java.util.zip.GZIPInputStream;
    12. import java.util.zip.Inflater;
    13. import java.util.zip.InflaterInputStream;
    14.  
    15. // SSL için gerekli java importu
    16. import javax.net.ssl.HttpsURLConnection;
    17.  
    18. // 3. parti API; JsonAPI @@ org.json
    19. // ham JSON'u işleyebilip değerleri alabilmemiz için gerekli.
    20. import org.json.JSONObject;
    21.  
    22. // Example class'ı; Örnek olması için böyle bir isim verdim.
    23. public class Example {
    24.    
    25.     // Giriş denemesi yapılıp eğer başarılı ise ekrana bilgileri bastırılacak kullanıcı adı ve şifre.
    26.     // Değiştirmez iseniz NO_USER çıkaracaktır. Kendi kullanıcı adınız ve şifrenizi girin. /lifemcapp yazıp kayıt olmayı unutmayın yoksa sizdede NO_USER der!
    27.     private static final String KULLANICI_ADI = "OrnekKullanıcı";
    28.     private static final String SIFRE = "OrnekSifre";
    29.    
    30.     // Main methodumuz, program çalıştığında devreye giren methoddur.
    31.     public static void main(String[] args) {
    32.        
    33.         // Programın çökmemesi için try kullanıyoruz.
    34.         // Böylece olası bir hatada program kapanmak yerine hataları ekrana basıp devam edecektir.
    35.         try {
    36.            
    37.             // Önce giriş isteği yolluyoruz
    38.             String response = connectTo("https://www.lifemcserver.com/loginAPI.php?"+KULLANICI_ADI+"&password="+SIFRE);
    39.             System.out.println("Çıktı: " + response);
    40.            
    41.             // Giriş başarılı ise
    42.             if(response.contains("SUCCESS")) {
    43.                
    44.                 System.out.println("");
    45.                
    46.                 // Bu sefer bilgi isteği yolluyoruz
    47.                 String jsonResponse = connectTo("https://www.lifemcserver.com/API.php?"+KULLANICI_ADI+"&password="+SIFRE);
    48.                
    49.                 // Aldığımız bilgiyi JSON'a dönüştürüyoruz
    50.                 JSONObject obj = new JSONObject(jsonResponse);
    51.                 JSONObject jsonObj = obj.getJSONObject("userInfo");
    52.                
    53.                 // Bilgileri değişkenlere çıkartıyoruz
    54.                 Integer ada_leveli = jsonObj.getInt("islandLevel");
    55.                 Double para = Double.parseDouble(jsonObj.getString("money"));
    56.                 Integer kredi = jsonObj.getInt("credit");
    57.                 Integer ironsp = jsonObj.getInt("ironsps");
    58.                 Integer diasp = jsonObj.getInt("diasps");
    59.                 Integer like = jsonObj.getInt("profileLike");
    60.                 String follow = jsonObj.getString("profileFollow");
    61.                
    62.                 // Bilgileri formatlıyoruz
    63.                 String ada_leveli_formatted = format(ada_leveli.doubleValue());
    64.                 String para_formatted = format(para);
    65.                 String kredi_formatted = format(kredi.doubleValue());
    66.                 String ironsp_formatted = format(ironsp.doubleValue());
    67.                 String diasp_formatted = format(diasp.doubleValue());
    68.                 String like_formatted = format(like.doubleValue());
    69.                
    70.                 String follow_formatted = null;
    71.                
    72.                 // ProfilV2 yok ise API profileFollow için String olarak -1 döndürür.
    73.                 // Bu yüzden ProfilV2 yi kontrol ediyoruz.
    74.                 if(follow != null && follow != "-1") {
    75.                     follow_formatted = format(Double.valueOf(Integer.parseInt(follow)));  
    76.                 }
    77.                
    78.                 // ProfilV2 yok ise
    79.                 if(follow_formatted == null) {
    80.                     follow_formatted = "Hesabınızda ProfilV2 yok!";
    81.                 }
    82.                
    83.                 // En son formatladığımız bilgileri ekrana bastırıyoruz
    84.                 System.out.println("Ada Leveli: " + ada_leveli_formatted);
    85.                 System.out.println("Para: " + para_formatted);
    86.                 System.out.println("Kredi: " + kredi_formatted);
    87.                 System.out.println("Iron SP: " + ironsp_formatted);
    88.                 System.out.println("Dia SP: " + diasp_formatted);
    89.                 System.out.println("Profil Beğenme: " + like_formatted);
    90.                 System.out.println("Profil Takipçi: " + follow_formatted);
    91.                
    92.                 // Daha sonrasında programı kapatıyoruz
    93.                 System.exit(0);
    94.                
    95.             } else {
    96.                
    97.                 if(response.contains("ERROR")) {
    98.                    
    99.                     System.out.println("Bağlantıda bir problem oluştu! İnternet bağlantınızı kontrol edin.");
    100.                     return;
    101.                    
    102.                 }
    103.                
    104.                 System.out.println("Giriş başarısız, yukarda bulunan çıktı kısmındaki hata koduna bakabilirsiniz!");
    105.                
    106.             }
    107.        
    108.         // Hataları burada yakalayıp ekrana bastırıyoruz.
    109.         } catch(Exception ex) {
    110.            
    111.             ex.printStackTrace();
    112.            
    113.         }
    114.        
    115.     }
    116.    
    117.     // Para, kredi, ada leveli vb. şeyleri formatlamak için method
    118.     public static String format(double d) {
    119.        
    120.         try {
    121.        
    122.             String val;
    123.            
    124.             val = String.format("%,.2f", d);
    125.            
    126.             if(val.endsWith(",00")) {
    127.                 val = val.substring(0, val.length() - 3);
    128.             }
    129.            
    130.             val = val.replace(".", ",");
    131.            
    132.             return val;
    133.            
    134.         } catch(NumberFormatException ex) {
    135.            
    136.             ex.printStackTrace();
    137.             return "0";
    138.            
    139.         } catch(Exception ex) {
    140.            
    141.             ex.printStackTrace();
    142.             return "0";
    143.            
    144.         }
    145.        
    146.     }
    147.  
    148.     // İnternet sitelerine bağlanıp response almak için bir method
    149.     public static String connectTo(String url) throws Exception {
    150.        
    151.         // Burdada yine programın aniden kapanmaması için try kullandık.
    152.         try {
    153.        
    154.             URL obj = new URL(url);
    155.            
    156.             HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
    157.  
    158.             // Request'i daha hızlı almak için gerekli optimizeler
    159.             con.setAllowUserInteraction(false);
    160.             con.setDoOutput(false);
    161.             con.setUseCaches(true);
    162.             con.setRequestMethod("GET");
    163.             con.setRequestProperty("User-Agent", "Mozilla/5.0");
    164.             con.setRequestProperty("Content-Type", "application/json");
    165.            
    166.             InputStream error = con.getErrorStream();
    167.            
    168.             BufferedInputStream in = null;
    169.            
    170.             if (error == null) {
    171.                
    172.                 in = new BufferedInputStream(con.getInputStream());
    173.                
    174.             } else {
    175.                
    176.                 return "ERROR";
    177.                
    178.             }
    179.        
    180.             String encoding = con.getContentEncoding();
    181.             if (encoding != null) {
    182.                
    183.                 if (encoding.equalsIgnoreCase("gzip")) {
    184.                    
    185.                   in = new BufferedInputStream(new GZIPInputStream(in));
    186.                  
    187.                 } else if (encoding.equalsIgnoreCase("deflate")) {
    188.                    
    189.                   in = new BufferedInputStream(new InflaterInputStream(in, new Inflater(true)));
    190.                  
    191.                 }
    192.             }
    193.        
    194.             StringBuilder responseBody = new StringBuilder();
    195.             BufferedReader br = new BufferedReader(new InputStreamReader(in, "UTF-8"));
    196.             String line;
    197.            
    198.             while ((line = br.readLine()) != null) {
    199.                
    200.                 responseBody.append(line.toString().trim());
    201.                 responseBody.append("\n");
    202.                
    203.             }
    204.            
    205.             in.close();
    206.            
    207.             String response = responseBody.toString().trim();
    208.            
    209.             return response;
    210.        
    211.         // Yine burada da hataları yakalayıp bastırıyoruz ve "ERROR" döndürüyoruz.
    212.         } catch(Exception ex) {
    213.            
    214.             ex.printStackTrace();
    215.             return "ERROR";
    216.  
    217.         }
    218.        
    219.     }
    220.    
    221. }
    222.  
    223.  

    JSONSUZ LİTE VERSİYONU ONLİNE OLARAK
    DENEMEK İÇİN AŞAĞIDAKİ SİTEYE GİRİP AŞAĞIDAKİ KODU YAPIŞTIRIP "Execute" BASIN! (Koddaki kullanıcı adını ve şifreyi değiştirmeyi unutmayın!)


    Linkleri görebilmek için sitemize kayıt olmalısın.


    Kod (Javascript):
    1. import java.io.BufferedInputStream;
    2. import java.io.BufferedReader;
    3. import java.io.InputStream;
    4. import java.io.InputStreamReader;
    5. import java.net.URL;
    6. import java.util.zip.GZIPInputStream;
    7. import java.util.zip.Inflater;
    8. import java.util.zip.InflaterInputStream;
    9.  
    10. import javax.net.ssl.HttpsURLConnection;
    11.  
    12. public class Example {
    13.  
    14.     private static final String KULLANICI_ADI = "OrnekKullanici";
    15.     private static final String SIFRE = "OrnekSifre";
    16.  
    17.     public static void main(String[] args) {
    18.      
    19.         try {
    20.          
    21.             String response = connectTo("https://www.lifemcserver.com/loginAPI.php?"+KULLANICI_ADI+"&password="+SIFRE);
    22.             System.out.println("Cikti: " + response);
    23.          
    24.             if(response.contains("SUCCESS")) {
    25.              
    26.                 System.out.println("");
    27.              
    28.                 String jsonResponse = connectTo("https://www.lifemcserver.com/API.php?"+KULLANICI_ADI+"&password="+SIFRE);
    29.                 System.out.println(jsonResponse);
    30.              
    31.                 System.exit(0);
    32.              
    33.             } else {
    34.              
    35.                 if(response.contains("ERROR")) {
    36.                  
    37.                     System.out.println("Baglantida bir problem olustu! Internet baglantinizi kontrol edin.");
    38.                     return;
    39.                  
    40.                 }
    41.              
    42.                 System.out.println("Giris basarisiz, yukarda bulunan cikti kismindaki hata koduna bakabilirsiniz!");
    43.              
    44.             }
    45.      
    46.         } catch(Exception ex) {
    47.          
    48.             ex.printStackTrace();
    49.          
    50.         }
    51.      
    52.     }
    53.  
    54.     public static String format(double d) {
    55.      
    56.         try {
    57.      
    58.             String val;
    59.          
    60.             val = String.format("%,.2f", d);
    61.          
    62.             if(val.endsWith(",00")) {
    63.                 val = val.substring(0, val.length() - 3);
    64.             }
    65.          
    66.             val = val.replace(".", ",");
    67.          
    68.             return val;
    69.          
    70.         } catch(NumberFormatException ex) {
    71.          
    72.             ex.printStackTrace();
    73.             return "0";
    74.          
    75.         } catch(Exception ex) {
    76.          
    77.             ex.printStackTrace();
    78.             return "0";
    79.          
    80.         }
    81.      
    82.     }
    83.  
    84.     public static String connectTo(String url) throws Exception {
    85.      
    86.         try {
    87.      
    88.             URL obj = new URL(url);
    89.          
    90.             HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
    91.  
    92.             con.setAllowUserInteraction(false);
    93.             con.setDoOutput(false);
    94.             con.setUseCaches(true);
    95.             con.setRequestMethod("GET");
    96.             con.setRequestProperty("User-Agent", "Mozilla/5.0");
    97.             con.setRequestProperty("Content-Type", "application/json");
    98.          
    99.             InputStream error = con.getErrorStream();
    100.          
    101.             BufferedInputStream in = null;
    102.          
    103.             if (error == null) {
    104.              
    105.                 in = new BufferedInputStream(con.getInputStream());
    106.              
    107.             } else {
    108.              
    109.                 return "ERROR";
    110.              
    111.             }
    112.      
    113.             String encoding = con.getContentEncoding();
    114.             if (encoding != null) {
    115.              
    116.                 if (encoding.equalsIgnoreCase("gzip")) {
    117.                  
    118.                   in = new BufferedInputStream(new GZIPInputStream(in));
    119.                
    120.                 } else if (encoding.equalsIgnoreCase("deflate")) {
    121.                  
    122.                   in = new BufferedInputStream(new InflaterInputStream(in, new Inflater(true)));
    123.                
    124.                 }
    125.             }
    126.      
    127.             StringBuilder responseBody = new StringBuilder();
    128.             BufferedReader br = new BufferedReader(new InputStreamReader(in, "UTF-8"));
    129.             String line;
    130.          
    131.             while ((line = br.readLine()) != null) {
    132.              
    133.                 responseBody.append(line.toString().trim());
    134.                 responseBody.append("\n");
    135.              
    136.             }
    137.          
    138.             in.close();
    139.          
    140.             String response = responseBody.toString().trim();
    141.          
    142.             return response;
    143.      
    144.         } catch(Exception ex) {
    145.          
    146.             ex.printStackTrace();
    147.             return "ERROR";
    148.  
    149.         }
    150.      
    151.     }
    152.  
    153. }


     
    Etiketler:
    eyupp61, AssassinDaan ve sametdnc bunu beğendi.
  2. sametdnc

    sametdnc SbC Genel Moderatör

    Katılım:
    24 Mart 2017
    Mesaj:
    1,526
    Alınan Beğeniler:
    1,867
    Ödül Puanları:
    703
    Nick:
    sametdnc
    Gerçek ad:
    Samet Dinç
    Pek birşey anlamadım ama güzel bir şeye benziyor :D
     
    BugraBerkGG, isaenes123 ve iFurkanKirca bunu beğendi.
  3. Slendrmen

    Slendrmen Üye Üye

    Katılım:
    17 Mart 2018
    Mesaj:
    47
    Alınan Beğeniler:
    8
    Ödül Puanları:
    88
    Nick:
    Slendrmen
    Ellerine Sağlık Abı
     
    isaenes123 ve sametdnc bunu beğendi.
  4. iFurkanKirca

    iFurkanKirca Bir devrin programcısı olmak icin uzmanlaş! Vip Üye

    Katılım:
    21 Kasım 2017
    Mesaj:
    416
    Alınan Beğeniler:
    129
    Ödül Puanları:
    338
    Nick:
    Joker
    Skype :
    FurkanOruc
    Ellerine sağlık
     
    isaenes123 ve sametdnc bunu beğendi.
  5. csZeus

    csZeus Üye Üye

    Katılım:
    28 Mart 2018
    Mesaj:
    3
    Alınan Beğeniler:
    4
    Ödül Puanları:
    83
    Nick:
    csZeus
    Elinize Sağlık
     
    sametdnc bunu beğendi.
  6. TheDark_Gamer

    TheDark_Gamer #TheDGOfficial. Sunucu Sahibi Forum Kurucusu

    Katılım:
    19 Mart 2017
    Mesaj:
    1,429
    Alınan Beğeniler:
    2,178
    Ödül Puanları:
    728
    Nick:
    TheDark_Gamer
    Gerçek ad:
    Mustafa ÖNCEL
    Skype :
    mustafaoncel92
    4. Örnek Kodlar (C#)

    Kod (Javascript):
    1. using System;
    2. using System.IO;
    3. using System.Net;
    4. using Newtonsoft.Json;
    5.  
    6. namespace LifeMC {
    7.  
    8.     public class LifeMC {
    9.  
    10.         // CMD'nin başlığını ayarlamak için gerekli
    11.  
    12.         private const string name = "LifeMC";
    13.         private const string version = "1.0";
    14.  
    15.         private const string title = name + " | v" + version;
    16.  
    17.         // Login ve API URL'sini Ayarlıyoruz
    18.  
    19.         private const string LOGIN_SERVER = "https://www.lifemcserver.com/loginAPI.php";
    20.         private const string DATA_SERVER = "https://www.lifemcserver.com/API.php";
    21.  
    22.         // Oyuncu Objesini Depolamak İçin
    23.  
    24.         private static User currentUser = null;
    25.  
    26.         public static void Main() {
    27.  
    28.             Console.Clear();
    29.             Console.SetOut(new Logger());
    30.             Console.Title = title;
    31.             Console.CursorVisible = false;
    32.             Console.ForegroundColor = ConsoleColor.White;
    33.             startProgram();
    34.             write("Uygulama son buldu. Bu pencereyi kapatmak için Enter tuşuna basın.");
    35.             Console.ReadKey(true);
    36.             closeProgram();
    37.  
    38.         }
    39.  
    40.         private static void startProgram() {
    41.  
    42.             goto Start;
    43.  
    44.             Start:
    45.  
    46.                 write("Hoşgeldiniz, Lütfen yapmak istediğiniz işlemi seçin.");
    47.                 empty();
    48.  
    49.                 write("1. Giriş yap.");
    50.                 write("2. Çıkış yap.");
    51.                 empty();
    52.  
    53.                 write("Lütfen yukardaki seçeneklerden birinin numarasını yaz.");
    54.  
    55.                 String s = Console.ReadLine();
    56.  
    57.                 int.TryParse(s, out int n);
    58.                
    59.                 if(n < 1) {
    60.  
    61.                     write("Bilinmeyen bir seçim yaptınız. Lütfen tekrar deneyiniz.");
    62.                     goto Start;
    63.  
    64.                 }
    65.                
    66.                 switch (n) {
    67.  
    68.                     case 1:
    69.                         goto girisyap;
    70.                     case 2:
    71.                         goto cikisyap;
    72.                     default:
    73.                         write("Bilinmeyen bir seçim yaptınız. Lütfen tekrar deneyiniz.");
    74.                         goto Start;
    75.  
    76.                 }
    77.            
    78.             cikisyap:
    79.                 closeProgram();
    80.  
    81.             girisyap:
    82.  
    83.                 write("Ana menüye dönmek için 'dön' yazabilirsiniz.");
    84.                 empty();
    85.                 write("Lütfen kullanıcı adınızı giriniz: ");
    86.                 String kad = Console.ReadLine();
    87.  
    88.                 if(kad.ToLower().Equals("dön")) {
    89.  
    90.                     goto Start;
    91.  
    92.                 }
    93.  
    94.                 write("Lütfen parolanızı giriniz: ");
    95.                 String sifre = Console.ReadLine();
    96.  
    97.                 if(kad.ToLower().Equals("dön") || sifre.ToLower().Equals("dön")) {
    98.  
    99.                     goto Start;
    100.  
    101.                 }
    102.  
    103.                 if(kad == null || sifre == null || kad.Length < 3 || sifre.Length < 6) {
    104.  
    105.                     write("Girdiğiniz kullanıcı adı veya şifre hatalı. Lütfen tekrar deneyin.");
    106.                     goto girisyap;
    107.  
    108.                 }
    109.  
    110.                 Object o = tryLoginWith(kad, sifre);
    111.  
    112.                 if(o is bool && (bool) o == true) {
    113.  
    114.                     currentUser = new User(kad, sifre);
    115.                     goto girisBasarili;
    116.  
    117.                 } else {
    118.  
    119.                     if(o is string) {
    120.  
    121.                         if(o.ToString().ToUpper().Equals("SUCCESS")) {
    122.  
    123.                             currentUser = new User(kad, sifre);
    124.                             goto girisBasarili;
    125.  
    126.                         } else if(o.ToString().ToUpper().Equals("NO_USER")) {
    127.  
    128.                             write("Girdiğiniz adda kullanıcı yok. Lütfen tekrar deneyin.");
    129.                             goto girisyap;
    130.  
    131.                         } else if(o.ToString().ToUpper().Equals("WRONG_PASSWORD")) {
    132.  
    133.                             write("Girdiğiniz şifre yanlış. Lütfen tekrar deneyin.");
    134.                             goto girisyap;
    135.  
    136.                         } else if(o.ToString().ToUpper().Equals("MAX_TRIES")) {
    137.  
    138.                             write("Çok fazla giriş denemesi yaptığınız için IP adresiniz 3 dakika bloklanmış. Lütfen 3 dakika sonra tekrar deneyin.");
    139.                             goto girisyap;
    140.  
    141.                         } else {
    142.  
    143.                             goto girisBasarisiz;
    144.                        
    145.                         }
    146.                                        
    147.                     }
    148.                
    149.                     goto girisBasarisiz;
    150.  
    151.                 }
    152.  
    153.             girisBasarisiz:
    154.  
    155.                 write("Girdiğiniz kullanıcı adı veya şifre yanlış. Lütfen tekrar deneyin.");
    156.                 goto girisyap;
    157.  
    158.             girisBasarili:
    159.  
    160.                 if(currentUser == null) {
    161.  
    162.                     write("Bir hata oluştu lütfen tekrar giriş yapınız.");
    163.                     goto girisyap;
    164.  
    165.                 }
    166.  
    167.                 write("Başarıyla giriş yaptınız.");
    168.                 empty();
    169.                 write("Tekrardan hoşgeldin, " + currentUser.getName() + " !");
    170.                 write("Yapabileceğin işlemler aşağıda mevcut!");
    171.                 empty();
    172.                 write("1. Güncel bilgilerini gör.");
    173.                 write("2. Ana menüye dön.");
    174.  
    175.                 String r = Console.ReadLine();
    176.                 int.TryParse(r, out int sr);
    177.            
    178.                 if(sr < 1) {
    179.  
    180.                     write("Bilinmeyen bir seçim yaptınız. Lütfen tekrar deneyiniz.");
    181.                     goto girisBasarili;
    182.                    
    183.                 }
    184.  
    185.                 switch(sr) {
    186.  
    187.                     case 1:
    188.                         goto bilgileriniGor;
    189.                     case 2:
    190.                         kad = null;
    191.                         sifre = null;
    192.                         currentUser = null;
    193.                         write("Çıkış başarılı ana menüye dönülüyor..");
    194.                         goto Start;
    195.                     default:
    196.                         write("Bilinmeyen bir seçim yaptınız. Lütfen tekrar deneyiniz.");
    197.                         goto girisBasarili;
    198.  
    199.                 }
    200.  
    201.             bilgileriniGor:
    202.  
    203.                 write("Bilgileriniz alınırken lütfen bekleyin..");
    204.  
    205.                 empty();
    206.  
    207.                 String json = connectTo(DATA_SERVER + "?" + kad + "&password=" + sifre);
    208.  
    209.                 var res = JsonConvert.DeserializeObject<dynamic>(json);
    210.                 var obj = res.userInfo;    
    211.  
    212.                 var adaleveli = obj.islandLevel;
    213.                 var para = obj.money;
    214.                 var kredi = obj.credit;
    215.                 var ironsp = obj.ironsps;
    216.                 var diasp = obj.diasps;
    217.                 var like = obj.profileLike;
    218.                 var follow = obj.profileFollow;
    219.  
    220.                 write("Ada Levelin: " + format(adaleveli));
    221.                 write("Paran: " + format(para) + " TL");
    222.                 write("Kredin: " + format(kredi) + " TL");
    223.                 write("Iron SP sayın: " + format(ironsp) + " adet");
    224.                 write("Dia SP sayın: " + format(diasp) + " adet");
    225.                 write("Profil Beğeni sayın: " + format(like) + " kişi");
    226.                 write("Profil Takip sayın: " + format(follow) + " kişi");
    227.  
    228.                 empty();
    229.  
    230.                 goto girisBasarili;
    231.            
    232.         }
    233.  
    234.         private static string format(dynamic str) {
    235.  
    236.             // TODO Sayı formatlama yapılcak !
    237.  
    238.             string formatted = str;
    239.  
    240.             return formatted;
    241.  
    242.         }
    243.  
    244.         private static void closeProgram() {
    245.  
    246.             Console.ResetColor();
    247.             Console.Clear();
    248.             System.Environment.Exit(1);
    249.  
    250.         }
    251.  
    252.         private static void write(string line) => Console.WriteLine(line);
    253.         private static void empty() => Console.WriteLine("");
    254.  
    255.         private static object tryLoginWith(string kad, string sifre) {
    256.  
    257.             String response = connectTo(LOGIN_SERVER + "?" + kad + "&password=" + sifre);
    258.  
    259.             if(response.ToUpper().Equals("SUCCESS")) {
    260.                 return true;
    261.             } else {
    262.                 return response;
    263.             }
    264.  
    265.         }
    266.  
    267.         public static string connectTo(string URL) {
    268.  
    269.             try {
    270.  
    271.                 HttpWebRequest request = (HttpWebRequest) WebRequest.Create(URL);
    272.  
    273.                 request.KeepAlive = false;
    274.                 request.AllowWriteStreamBuffering = false;
    275.                 request.Method = WebRequestMethods.Http.Get;
    276.                 request.ContentType = "application/json";
    277.                 request.AllowAutoRedirect = false;
    278.                 request.Referer = "https://www.lifemcserver.com/";
    279.                 request.UserAgent = "Mozilla/5.0";
    280.                 request.Proxy = null;
    281.  
    282.                 HttpWebResponse response = (HttpWebResponse) request.GetResponse();
    283.  
    284.                 Stream streamResponse= response.GetResponseStream();
    285.                 StreamReader streamRead = new StreamReader(streamResponse);
    286.        
    287.                 Char[] readBuff = new Char[256];
    288.                 int count = streamRead.Read( readBuff, 0, 256 );
    289.  
    290.                 String responseStr = "";
    291.  
    292.                 while (count > 0) {
    293.                     String outputData = new String(readBuff, 0, count);
    294.                     responseStr = responseStr+outputData;
    295.                     count = streamRead.Read(readBuff, 0, 256);
    296.                 }
    297.  
    298.                 streamResponse.Close();
    299.                 streamRead.Close();
    300.                 response.Close();
    301.                 request.Abort();
    302.  
    303.                 responseStr = responseStr.ToString().Trim();
    304.  
    305.                 return responseStr;
    306.  
    307.             } catch(Exception ex) {
    308.  
    309.                 handleException(ex);
    310.                 return "ERROR";
    311.  
    312.             }
    313.  
    314.         }
    315.  
    316.         private static void handleException(Exception ex) {
    317.  
    318.             write("An exception has throwed!") ;
    319.             empty();
    320.             write("Cause: " + ex.Message);
    321.             write("Source: " + ex.Source);
    322.             write("Stacktrace: ");
    323.             write(ex.StackTrace);
    324.  
    325.         }
    326.     }
    327.    
    328.     public class Logger : TextWriter {
    329.  
    330.         private TextWriter originalOut;
    331.  
    332.         public Logger() => originalOut = Console.Out;
    333.  
    334.         public override Encoding Encoding => Encoding.UTF8;
    335.  
    336.         public override void WriteLine(string msg) => originalOut.WriteLine("[" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "] " + msg);
    337.  
    338.         public override void Write(string msg) => originalOut.Write("[" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "] " + msg);
    339.  
    340.     }
    341.    
    342.     public class User {
    343.  
    344.         private string userName = null;
    345.         private string userPassword = null;
    346.         private User currentUser = null;
    347.  
    348.         public User(string userName, string userPassword) {
    349.  
    350.             this.userName = userName;
    351.             this.userPassword = userPassword;
    352.  
    353.             this.currentUser = this;
    354.  
    355.         }
    356.  
    357.         public User getUser() => currentUser;
    358.         public string getName() => userName;
    359.         public string getPassword() => userPassword;
    360.         public void setName(string name) => userName = name;
    361.         public void setPassword(string password) => userPassword = password;
    362.  
    363.     }
    364.  
    365. }


    Bu aralar birazda C# öğrendim ve bir örnek daha yazdım. API'yi dilediğiniz her dilde kullanabilirsiniz. Kullandığınız dilin HttpRequest'leri desteklemesi yeterli olacaktır.
     
    sametdnc bunu beğendi.
  7. DRAGON1905

    DRAGON1905 Üye Üye

    Katılım:
    4 Mart 2018
    Mesaj:
    214
    Alınan Beğeniler:
    41
    Ödül Puanları:
    143
    Nick:
    DRAGON1905
    Bu ne işe yarıyor hiç bir şey anlamadım. :D
     
  8. sametdnc

    sametdnc SbC Genel Moderatör

    Katılım:
    24 Mart 2017
    Mesaj:
    1,526
    Alınan Beğeniler:
    1,867
    Ödül Puanları:
    703
    Nick:
    sametdnc
    Gerçek ad:
    Samet Dinç
    Bilgisayarınızdaki (indirirseniz) bir uygulama.
     
    BugraBerkGG bunu beğendi.
  9. R1VALS

    R1VALS Üye Üye

    Katılım:
    2 Nisan 2018
    Mesaj:
    29
    Alınan Beğeniler:
    15
    Ödül Puanları:
    83
    Nick:
    AHL4KSIZ
    Ellerine Sağlık Dostum Fakat 'Api' Nin Pek Birşey
    Getireceğini Sanmıyorum
     
  10. sametdnc

    sametdnc SbC Genel Moderatör

    Katılım:
    24 Mart 2017
    Mesaj:
    1,526
    Alınan Beğeniler:
    1,867
    Ödül Puanları:
    703
    Nick:
    sametdnc
    Gerçek ad:
    Samet Dinç
    Yanılıyorsunuz.Sunucuda yok iken,sunucu kapalı iken gereken bilgileri görebilirsiniz.
     
    BugraBerkGG bunu beğendi.
  11. iFurkanKirca

    iFurkanKirca Bir devrin programcısı olmak icin uzmanlaş! Vip Üye

    Katılım:
    21 Kasım 2017
    Mesaj:
    416
    Alınan Beğeniler:
    129
    Ödül Puanları:
    338
    Nick:
    Joker
    Skype :
    FurkanOruc
    ellerine sağlık
     
  12. R1VALS

    R1VALS Üye Üye

    Katılım:
    2 Nisan 2018
    Mesaj:
    29
    Alınan Beğeniler:
    15
    Ödül Puanları:
    83
    Nick:
    AHL4KSIZ
    Panel Gibi Birşey bu
     
  13. HypnosEmo

    HypnosEmo Ahırdayığğm Genel Moderatör

    Katılım:
    7 Ekim 2017
    Mesaj:
    1,485
    Alınan Beğeniler:
    1,303
    Ödül Puanları:
    703
    Nick:
    HypnosEmo
    Gerçek ad:
    Emirhan YILMAZ
    Yanılıyorsunuz, panel: Tüm mesajların, komutların yazıldığını gösteren; her yetkiye sahip olan yerdir fakat burada sadece Ada leveli, kredi, para, diamond spawner, iron spawner vb. şeylerin gözüktüğü yerdir. (Kısaca kullanıcı bilgileri)
     
  14. eyupp61

    eyupp61 Elit Üye Aktif Üye Üye

    Katılım:
    9 Nisan 2018
    Mesaj:
    467
    Alınan Beğeniler:
    183
    Ödül Puanları:
    253
    Nick:
    eyupp61
    Gerçek ad:
    Eyüp Aydın
    Skype :
    live:eyuptrabzon61
    Ellerine sağlık :)
     
  15. AssassinDaan

    AssassinDaan Gandalf Forum Yöneticisi

    Katılım:
    31 Ekim 2017
    Mesaj:
    2,344
    Alınan Beğeniler:
    2,621
    Ödül Puanları:
    703
    Nick:
    AssassinDaan
    Gerçek ad:
    Onur CAN
    Skype :
    onurcan26es_1
    Eline Sağlık :)
     
  16. LegendSlayer

    LegendSlayer Misafir

    Güzel bir sistem oldu. Geliştirileceğinde mükemmel birşeyin ortaya çıkacağına inanıyorum :D
     
  17. MeBoss

    MeBoss Vip Üye Vip Üye

    Katılım:
    8 Temmuz 2017
    Mesaj:
    253
    Alınan Beğeniler:
    114
    Ödül Puanları:
    328
    Nick:
    MeBoss
    eline sağlık güzel olmuş
     
    xHiggSlow bunu beğendi.
  18. GhostGamerHD

    GhostGamerHD Üye Üye

    Katılım:
    6 Haziran 2018
    Mesaj:
    5
    Alınan Beğeniler:
    0
    Ödül Puanları:
    56
    Nick:
    GhostGamerHD
  19. kerem7934

    kerem7934 Sponsor Üye Sponsor Üye

    Katılım:
    9 Mayıs 2017
    Mesaj:
    1,231
    Alınan Beğeniler:
    682
    Ödül Puanları:
    678
    Nick:
    kerem7934
  20. TheDark_Gamer

    TheDark_Gamer #TheDGOfficial. Sunucu Sahibi Forum Kurucusu

    Katılım:
    19 Mart 2017
    Mesaj:
    1,429
    Alınan Beğeniler:
    2,178
    Ödül Puanları:
    728
    Nick:
    TheDark_Gamer
    Gerçek ad:
    Mustafa ÖNCEL
    Skype :
    mustafaoncel92
    Java programlama dili için LifeAPI kütüphanesi çıktı!
    GitHub: Linkleri görebilmek için sitemize kayıt olmalısın.
    İndirmek İçin: Linkleri görebilmek için sitemize kayıt olmalısın.

    Kullanım için örnek kod:​
    Kod (Javascript):
    1.  
    2. package com.lifemcserver.test;
    3.  
    4. import java.util.Scanner;
    5.  
    6. import com.lifemcserver.api.LifeAPI;
    7. import com.lifemcserver.api.ResponseType;
    8. import com.lifemcserver.api.User;
    9.  
    10. public class Main {
    11.  
    12.     public static LifeAPI API = new LifeAPI();
    13.    
    14.     public static void main(String[] args) {
    15.        
    16.         Scanner scan = new Scanner(System.in);
    17.        
    18.         System.out.print("Enter your username: ");
    19.        
    20.         String userName = scan.next();
    21.        
    22.         System.out.print("Enter your password: ");
    23.        
    24.         String password = scan.next();
    25.        
    26.         scan.close();
    27.        
    28.         Object o = API.getUser(userName, password);
    29.        
    30.         if(o instanceof ResponseType) {
    31.            
    32.             throw new IllegalArgumentException("An error occured when validating your account. The web server response is: " + ((ResponseType) o).toString());
    33.            
    34.         } else if(o instanceof User) {
    35.            
    36.             User u = (User) o;
    37.             ResponseType resp = u.updateInfos();
    38.            
    39.             if(resp.equals(ResponseType.SUCCESS)) {
    40.                
    41.                 String islandLevel = u.formatValue(u.getIslandLevel());
    42.                 String money = u.formatValue(u.getMoney());
    43.                 String credit = u.formatValue(u.getCreditAmount());
    44.                 String ironsps = u.formatValue(u.getIronSPCount());
    45.                 String diasps = u.formatValue(u.getDiamondBlockSPCount());
    46.                 String profileLikes = u.formatValue(u.getProfileLikes());
    47.                 String profileFollowers = u.formatValue(u.getProfileFollowers());  
    48.                
    49.                 System.out.println("Island Level: " + islandLevel);
    50.                 System.out.println("Money: " + money);
    51.                 System.out.println("Credit: " + credit);
    52.                 System.out.println("Iron SP Count: " + ironsps);
    53.                 System.out.println("Diamond Block SP Count: " + diasps);
    54.                 System.out.println("Profile Likes: " + profileLikes);
    55.                 System.out.println("Profile Followers: " + profileFollowers);
    56.                
    57.             } else {
    58.                
    59.                 System.out.println("An error occured when getting infos from web server. The web server response is: " + resp.toString());
    60.                
    61.             }  
    62.            
    63.         }
    64.        
    65.         System.exit(0); // don't forget this at end of your program
    66.        
    67.     }
    68.    
    69. }
    70.  
     
    HypnosEmo ve AssassinDaan bunu beğendi.

Bu Sayfayı Paylaş

Bu Konuya Bakan Kullanıcılar (Kullanıcı: 0, Ziyaretçi: 0)

Yükleniyor...