Хостинг серверов Minecraft playvds.com
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление
  3. Данный раздел создан исключительно для релизов! Вопросы по лаунчеру или обвязке задавайте ТОЛЬКО в соответсвующей теме автора. Любые другие темы будут удалены, а авторы понесут наказание.

Помощь по лаунчерам [2]

Тема в разделе "Веб-обвязки и лаунчеры", создана пользователем slenky, 9 июн 2015.

  1. dirt34

    dirt34 Старожил Пользователь

    Баллы:
    143
    Skype:
    alucid2
    Имя в Minecraft:
    dirt34
    Делаю запрос на получение данных сервера сокетом:

    import java.io.ByteArrayOutputStream;
    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.io.IOException;
    import java.net.InetSocketAddress;
    import java.net.Socket;
    import java.nio.charset.Charset;
    import java.nio.charset.StandardCharsets;

    public class Main {

    public static void main(String [] args) throws IOException {

    String address = "server.ru";
    int port = 25565;

    InetSocketAddress host = new InetSocketAddress(address, port);

    System.out.println(host.toString());

    Socket socket = new Socket();
    System.out.println("Connecting...");
    socket.connect(host, 3000);
    System.out.println("Done!");
    System.out.println("Making streams...");
    DataOutputStream output = new DataOutputStream(socket.getOutputStream());
    DataInputStream input = new DataInputStream(socket.getInputStream());

    System.out.println("Done!");
    System.out.println("Attempting handshake... "+host.getAddress().toString());


    byte [] handshakeMessage = createHandshakeMessage(address, port);

    // C->S : Handshake State=1
    // send packet length and packet
    writeVarInt(output, handshakeMessage.length);
    output.write(handshakeMessage);

    // C->S : Request
    output.writeByte(0x01); //size is only 1
    output.writeByte(0x00); //packet id for ping


    // S->C : Response
    int size = readVarInt(input);
    int packetId = readVarInt(input);

    if (packetId == -1) {
    throw new IOException("Premature end of stream.");
    }

    if (packetId != 0x00) { //we want a status response
    throw new IOException("Invalid packetID");
    }
    int length = readVarInt(input); //length of json string

    if (length == -1) {
    throw new IOException("Premature end of stream.");
    }

    if (length == 0) {
    throw new IOException("Invalid string length.");
    }

    byte[] in = new byte[length];
    input.readFully(in); //read json string
    String json = new String(in);


    // C->S : Ping
    long now = System.currentTimeMillis();
    output.writeByte(0x09); //size of packet
    output.writeByte(0x01); //0x01 for ping
    output.writeLong(now); //time!?

    // S->C : Pong
    readVarInt(input);
    packetId = readVarInt(input);
    if (packetId == -1) {
    throw new IOException("Premature end of stream.");
    }

    if (packetId != 0x01) {
    throw new IOException("Invalid packetID");
    }
    long pingtime = input.readLong(); //read response


    // print out server info
    System.out.println(json);

    System.out.println("Done!");
    }

    public static byte [] createHandshakeMessage(String host, int port) throws IOException {
    ByteArrayOutputStream buffer = new ByteArrayOutputStream();

    DataOutputStream handshake = new DataOutputStream(buffer);
    handshake.writeByte(0x00); //packet id for handshake
    writeVarInt(handshake, 4); //protocol version
    writeString(handshake, host, StandardCharsets.UTF_8);
    handshake.writeShort(port); //port
    writeVarInt(handshake, 1); //state (1 for handshake)

    return buffer.toByteArray();
    }

    public static void writeString(DataOutputStream out, String string, Charset charset) throws IOException {
    byte [] bytes = string.getBytes(charset);
    writeVarInt(out, bytes.length);
    out.write(bytes);
    }

    public static void writeVarInt(DataOutputStream out, int paramInt) throws IOException {
    while (true) {
    if ((paramInt & 0xFFFFFF80) == 0) {
    out.writeByte(paramInt);
    return;
    }

    out.writeByte(paramInt & 0x7F | 0x80);
    paramInt >>>= 7;
    }
    }

    public static int readVarInt(DataInputStream in) throws IOException {
    int i = 0;
    int j = 0;
    while (true) {
    int k = in.readByte();
    i |= (k & 0x7F) << j++ * 7;
    if (j > 5) throw new RuntimeException("VarInt too big");
    if ((k & 0x80) != 128) break;
    }
    return i;
    }
    }

    Сокет успешно подключается, отправляет данные. И вот на принятии данных происходит ошибка - java.io.EOFException. Значит в ответ ничего.

    Я перепробовал десятки серверов и все работает, а вот с один нет. При чем интересное то что в самом майне все нормально, он достаёт инфу.

    В чем может быть проблема?
     
    Последнее редактирование: 20 янв 2018
  2. Mr Hosting
  3. iSun

    iSun Активный участник Пользователь

    Баллы:
    66
    ПОМОГИТЕ, СРОЧНО!
    1) В каком класс файле в версии 1.7.10 лежат вот эти надписи? (картинка 1) [Решено]
    2) Как убрать странное затемнение букв снизу? (картинка 2)
    3) Как убрать лишние кнопки? (картинка 3)
    [​IMG] [​IMG] [​IMG]
     
    Последнее редактирование: 20 янв 2018
  4. D1Xer

    D1Xer Активный участник Пользователь

    Баллы:
    76
    Skype:
    taraskarpin37
    Имя в Minecraft:
    TheTarasikPlay
    тут
    Затемняет сам шрифт
     
    Последнее редактирование: 20 янв 2018
  5. iSun

    iSun Активный участник Пользователь

    Баллы:
    66
    При вводе логина и пароля выходит вот это. Раньше было нормально, с инетом все норм, помогите

    upload_2018-1-21_0-56-39.png upload_2018-1-21_0-56-46.png
     
  6. D1Xer

    D1Xer Активный участник Пользователь

    Баллы:
    76
    Skype:
    taraskarpin37
    Имя в Minecraft:
    TheTarasikPlay
    Есть много вариантов появление этой ошибки
    Проверь подключение к бд
     
  7. iSun

    iSun Активный участник Пользователь

    Баллы:
    66
    Работает (подключение к бд)
     
  8. D1Xer

    D1Xer Активный участник Пользователь

    Баллы:
    76
    Skype:
    taraskarpin37
    Имя в Minecraft:
    TheTarasikPlay
    Собирай заново :cute:
     
  9. iSun

    iSun Активный участник Пользователь

    Баллы:
    66
    Все равно)
     
  10. iSun

    iSun Активный участник Пользователь

    Баллы:
    66
    Может в вк поможешь? Тут еще с плагином проблема
     
  11. D1Xer

    D1Xer Активный участник Пользователь

    Баллы:
    76
    Skype:
    taraskarpin37
    Имя в Minecraft:
    TheTarasikPlay
    Ну го
     
  12. iSun

    iSun Активный участник Пользователь

    Баллы:
    66
  13. oleggrandnew

    oleggrandnew Новичок

    Баллы:
    16
    Имя в Minecraft:
    OlegGrand
    Помогите пожалуйста! Лаунчер sashok V3 (Арендую хостинг playvds) Когда пишу
    java -Xmx256M -jar LaunchServer.jar
    Выходит это -
     

    Вложения:

  14. richerdcrafter7

    richerdcrafter7 Ньюби

    Баллы:
    1
    Как убрать автовход на сервер, да бы при нажатии в лаунчере кнопку (Играть) запускалась игра сразу в меню игры а не закидывало игрока на сервер?
     
  15. iSun

    iSun Активный участник Пользователь

    Баллы:
    66
    В меню лаунчера
     
  16. linock

    linock Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Gizic
    Ошибка https://launcher.sashok724.net
    Я изменил сылку на скины, сам сайт работает и я переходил на него он мне показывает скин а лаунчер не хочет
    Dle. да я вижу что "В соединении отказано (Connection refused)" но почему ?

    [ERROR] java.io.IOException: Can't get skin texture: 'Yelscs'
    at launchserver.response.profile.ProfileByUUIDResponse.getProfile(ProfileByUUIDResponse.java:42)
    at launchserver.response.auth.AuthResponse.reply(AuthResponse.java:78)
    at launchserver.response.ResponseThread.respond(ResponseThread.java:163)
    at launchserver.response.ResponseThread.run(ResponseThread.java:61)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
    Caused by: java.net.ConnectException: В соединении отказано (Connection refused)
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at sun.net.www.http.HttpClient.New(HttpClient.java:339)
    at sun.net.www.http.HttpClient.New(HttpClient.java:357)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1220)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1156)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1050)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:984)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1564)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
    at launcher.helper.IOHelper.newInput(IOHelper.java:282)
    at launcher.client.PlayerProfile$Texture.<init>(PlayerProfile.java:85)
    at launchserver.texture.RequestTextureProvider.getTexture(RequestTextureProvider.java:50)
    at launchserver.texture.RequestTextureProvider.getSkinTexture(RequestTextureProvider.java:44)
    at launchserver.response.profile.ProfileByUUIDResponse.getProfile(ProfileByUUIDResponse.java:40)
    ... 6 more
     
  17. UsernameAK

    UsernameAK Новичок Пользователь

    Баллы:
    16
    Пишу свой лаунчер. На линуксе клиент работает идеально. А на виндовсе странный баг: клиент запускается в окне миниально возможного размера и не отвечает. Как это лечить?

    Код:
    package aquacore.launcher;
    
    import java.io.File;
    import java.io.IOException;
    
    import net.minecraft.launchwrapper.Launch;
    
    public class LaunchMinecraft {
        public static void launch(String username) {
            File clientDir = new File(System.getProperty("user.home"), Config.clientDir);
            File libDir = new File(clientDir, "libraries");
            File nativesDir = new File(libDir, "natives");
            File assetsDir = new File(clientDir, "assets");
            for(File f : libDir.listFiles()) {
                if(!f.isDirectory()) {
                    if(f.getName().endsWith(".jar")) {
                        try {
                            System.out.println("Trying to load " + f.getAbsolutePath());
                            ClassPathHacker.addFile(f);
                        } catch (IOException e) {
                            Main.crash(e);
                        }
                    }
                }
              
            }
            System.out.println("Starting Minecraft");
            System.setProperty("fml.ignoreInvalidMinecraftCertificates", "true");
            System.setProperty("user.dir", clientDir.getAbsolutePath());
            try {
                ClassPathHacker.setLibraryPath(nativesDir.getAbsolutePath());
            } catch (Exception e) {
                Main.crash(e);
            }
            Launch launch = new Launch();
            launch.launch(new String[] {"--username", username, "--version", "1.7.10", "--gameDir", clientDir.getAbsolutePath(),
                    "--userType", "legacy", "--tweakClass", "cpw.mods.fml.common.launcher.FMLTweaker",
                    "--userProperties", "{}",
                    "--accessToken", "null", "--assetsDir", assetsDir.getAbsolutePath(), "--assetIndex", "1.7.10",
                    "--uuid", "00000000000000000000000000000000", "--width", "925", "--height", "530"});
        }
    }
    
    класс, который отвечает за запуск клиента
     
  18. smertttt

    smertttt Новичок

    Баллы:
    6
    Скачал лаунчер отсюда, исходники http://rubukkit.org/threads/sashok724-launcher.42883/ настроил, но в консоли пишет :
    [16:20:31] [Launcher thread/INFO]: ?A3vHCmnyK1u7mUtb+vPgGg==
    [16:20:31] [Launcher thread/WARN]: Ключ шифрование не совпадает или больше 16 символов, или полученна ошибка от launcher.php
    [16:20:31] [Launcher thread/WARN]: Проверьте настройку в Settings.java или connect.php
    Ключи одинаковые, а в лаунчере, пишет ошибка подключения, как исправить?
     
  19. Banner-System

    Banner-System Активный участник Пользователь

    Баллы:
    78
    Ну не может такого быть .. Значить что то не так сделал. Папку со скинами трогал
     
  20. smertttt

    smertttt Новичок

    Баллы:
    6
    Нет, я ввёл название, переименовал папку на хостинге, и в лаунчере тоже путь, все что я делал, ключ поменял, но они одинаковый
     
  21. Koldik

    Koldik Ньюби

    Баллы:
    1
    Короч, качал сервер с лава модом, при заходе в игру это
    [​IMG]
    Я хочу изменить healworld на другое название, помогите пожалуйста, если что, в этом архиве эти изменения
    [​IMG]
    Пожалуйста, ПОМОГИТЕ!
     

Поделиться этой страницей