Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите немогу поменять версию клиента.

Тема в разделе "[Архив] Помощь", создана пользователем qwertyYy2, 8 ноя 2012.

  1. Автор темы
    qwertyYy2

    qwertyYy2 Старожил

    Баллы:
    103
    Поменял версию сервера (сам сервер 1.3.1) , все ок,
    NetLoginHandler.java
    Серверский файл.
    Где 12) , там было 39)
    PublicKey publickey = this.server.E().getPublic();

    if (packet2handshake.d() != 12) {
    if (packet2handshake.d() > 12) {
    this.disconnect("Outdated server!");
    } else {
    this.disconnect("Outdated client!");
    }
    а вот уже клиент, хоть на какую меняй, на сервер незаходит, даже 12.
    Если ниже 12 поставлю клиент, пишет Outaded Server (сервер старый)
    если выше 12, всеравно Outated Server, а должно вроде Outaded client, никто незнает, где менять версию клиента? какой файл отвечает, и какая строка)
    NetLoginHandler.java
    Клиентский файл.
    package net.minecraft.src;

    import java.io.IOException;
    import java.net.InetAddress;
    import java.net.Socket;
    import java.security.PrivateKey;
    import java.security.PublicKey;
    import java.util.Arrays;
    import java.util.Random;
    import java.util.logging.Logger;
    import javax.crypto.SecretKey;
    import net.minecraft.server.MinecraftServer;

    public class NetLoginHandler extends NetHandler
    {
    private byte[] field_72536_d;
    public static Logger field_72540_a = Logger.getLogger("Minecraft");
    private static Random field_72537_e = new Random();
    public TcpConnection myTCPConnection;
    public boolean connectionComplete = false;
    private MinecraftServer minecraftInstance;
    private int connectionTimer = 0;
    private String clientUsername = null;
    private volatile boolean field_72544_i = false;
    private String field_72541_j = "";
    private SecretKey field_72542_k = null;

    public NetLoginHandler(MinecraftServer par1MinecraftServer, Socket par2Socket, String par3Str) throws IOException
    {
    this.minecraftInstance = par1MinecraftServer;
    this.myTCPConnection = new TcpConnection(par2Socket, par3Str, this, par1MinecraftServer.getKeyPair().getPrivate());
    this.myTCPConnection.field_74468_e = 0;
    }

    /**
    * Logs the user in if a login packet is found, otherwise keeps processing network packets unless the timeout has
    * occurred.
    */
    public void tryLogin()
    {
    if (this.field_72544_i)
    {
    this.initializePlayerConnection();
    }

    if (this.connectionTimer++ == 600)
    {
    this.raiseErrorAndDisconnect("Took too long to log in");
    }
    else
    {
    this.myTCPConnection.processReadPackets();
    }
    }

    public void raiseErrorAndDisconnect(String par1Str)
    {
    try
    {
    field_72540_a.info("Disconnecting " + this.getUsernameAndAddress() + ": " + par1Str);
    this.myTCPConnection.addToSendQueue(new Packet255KickDisconnect(par1Str));
    this.myTCPConnection.serverShutdown();
    this.connectionComplete = true;
    }
    catch (Exception var3)
    {
    var3.printStackTrace();
    }
    }

    public void handleClientProtocol(Packet2ClientProtocol par1Packet2ClientProtocol)
    {
    this.clientUsername = par1Packet2ClientProtocol.getUsername();

    if (!this.clientUsername.equals(StringUtils.stripControlCodes(this.clientUsername)))
    {
    this.raiseErrorAndDisconnect("Invalid username!");
    }
    else
    {
    PublicKey var2 = this.minecraftInstance.getKeyPair().getPublic();

    if (par1Packet2ClientProtocol.getProtocolVersion() != 1)
    {
    if (par1Packet2ClientProtocol.getProtocolVersion() > 1)
    {
    this.raiseErrorAndDisconnect("Outdated server!");
    }
    else
    {
    this.raiseErrorAndDisconnect("Outdated client!");
    }
    }
    else
    {
    this.field_72541_j = this.minecraftInstance.isServerInOnlineMode() ? Long.toString(field_72537_e.nextLong(), 2) : "-";
    this.field_72536_d = new byte[4];
    field_72537_e.nextBytes(this.field_72536_d);
    this.myTCPConnection.addToSendQueue(new Packet253ServerAuthData(this.field_72541_j, var2, this.field_72536_d));
    }
    }
    }

    public void handleSharedKey(Packet252SharedKey par1Packet252SharedKey)
    {
    PrivateKey var2 = this.minecraftInstance.getKeyPair().getPrivate();
    this.field_72542_k = par1Packet252SharedKey.func_73303_a(var2);

    if (!Arrays.equals(this.field_72536_d, par1Packet252SharedKey.func_73302_b(var2)))
    {
    this.raiseErrorAndDisconnect("Invalid client reply");
    }

    this.myTCPConnection.addToSendQueue(new Packet252SharedKey());
    }

    public void handleClientCommand(Packet205ClientCommand par1Packet205ClientCommand)
    {
    if (par1Packet205ClientCommand.forceRespawn == 0)
    {
    if (this.minecraftInstance.isServerInOnlineMode())
    {
    (new ThreadLoginVerifier(this)).start();
    }
    else
    {
    this.field_72544_i = true;
    }
    }
    }

    public void handleLogin(Packet1Login par1Packet1Login) {}

    /**
    * on success the specified username is connected to the minecraftInstance, otherwise they are packet255'd
    */
    public void initializePlayerConnection()
    {
    String var1 = this.minecraftInstance.getConfigurationManager().allowUserToConnect(this.myTCPConnection.getSocketAddress(), this.clientUsername);

    if (var1 != null)
    {
    this.raiseErrorAndDisconnect(var1);
    }
    else
    {
    EntityPlayerMP var2 = this.minecraftInstance.getConfigurationManager().createPlayerForUser(this.clientUsername);

    if (var2 != null)
    {
    this.minecraftInstance.getConfigurationManager().initializeConnectionToPlayer(this.myTCPConnection, var2);
    }
    }

    this.connectionComplete = true;
    }

    public void handleErrorMessage(String par1Str, Object[] par2ArrayOfObj)
    {
    field_72540_a.info(this.getUsernameAndAddress() + " lost connection");
    this.connectionComplete = true;
    }

    /**
    * Handle a server ping packet.
    */
    public void handleServerPing(Packet254ServerPing par1Packet254ServerPing)
    {
    try
    {
    String var2 = this.minecraftInstance.getMOTD() + "\u00a7" + this.minecraftInstance.getConfigurationManager().getPlayerListSize() + "\u00a7" + this.minecraftInstance.getConfigurationManager().getMaxPlayers();
    InetAddress var3 = null;

    if (this.myTCPConnection.getSocket() != null)
    {
    var3 = this.myTCPConnection.getSocket().getInetAddress();
    }

    this.myTCPConnection.addToSendQueue(new Packet255KickDisconnect(var2));
    this.myTCPConnection.serverShutdown();

    if (var3 != null && this.minecraftInstance.getNetworkThread() instanceof DedicatedServerListenThread)
    {
    ((DedicatedServerListenThread)this.minecraftInstance.getNetworkThread()).func_71761_a(var3);
    }

    this.connectionComplete = true;
    }
    catch (Exception var4)
    {
    var4.printStackTrace();
    }
    }

    public void registerPacket(Packet par1Packet)
    {
    this.raiseErrorAndDisconnect("Protocol error");
    }

    public String getUsernameAndAddress()
    {
    return this.clientUsername != null ? this.clientUsername + " [" + this.myTCPConnection.getSocketAddress().toString() + "]" : this.myTCPConnection.getSocketAddress().toString();
    }

    /**
    * determine if it is a server handler
    */
    public boolean isServerHandler()
    {
    return true;
    }

    static String func_72526_a(NetLoginHandler par0NetLoginHandler)
    {
    return par0NetLoginHandler.field_72541_j;
    }

    static MinecraftServer func_72530_b(NetLoginHandler par0NetLoginHandler)
    {
    return par0NetLoginHandler.minecraftInstance;
    }

    static SecretKey func_72525_c(NetLoginHandler par0NetLoginHandler)
    {
    return par0NetLoginHandler.field_72542_k;
    }

    static String func_72533_d(NetLoginHandler par0NetLoginHandler)
    {
    return par0NetLoginHandler.clientUsername;
    }

    static boolean func_72531_a(NetLoginHandler par0NetLoginHandler, boolean par1)
    {
    return par0NetLoginHandler.field_72544_i = par1;
    }
    }
     
  2. Хостинг MineCraft
    <
  3. Автор темы
    qwertyYy2

    qwertyYy2 Старожил

    Баллы:
    103
    NetLoginHandler.java
    Код:
    if (par1Packet2ClientProtocol.getProtocolVersion() != 1)
    {
    if (par1Packet2ClientProtocol.getProtocolVersion() > 1)
    где 1, делал 12, итд, бесполезно.
     
  4. Автор темы
    qwertyYy2

    qwertyYy2 Старожил

    Баллы:
    103
    Stalkerdeni971 нравится это.

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