reboot Windows'a

[03:33:49] [Server thread/ERROR] [FML]: There was a critical exception handling a packet on channel xModRestartPC
java.lang.RuntimeException: PLAYER target expects a Player arg
at cpw.mods.fml.common.network.FMLOutboundHandler$OutboundTarget$4.validateArgs(FMLOutboundHandler.java:102) ~[FMLOutboundHandler$OutboundTarget$4.class:?]
at cpw.mods.fml.common.network.FMLOutboundHandler.write(FMLOutboundHandler.java:262) ~[FMLOutboundHandler.class:?]
at io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:644) ~[DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:698) ~[DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:637) ~[DefaultChannelHandlerContext.class:?]
at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:115) ~[MessageToMessageEncoder.class:?]
at io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116) ~[MessageToMessageCodec.class:?]
at io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:644) ~[DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:698) ~[DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelHandlerContext.writeAndFlush(DefaultChannelHandlerContext.java:688) ~[DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelHandlerContext.writeAndFlush(DefaultChannelHandlerContext.java:717) ~[DefaultChannelHandlerContext.class:?]
at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:893) ~[DefaultChannelPipeline.class:?]
at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:239) ~[AbstractChannel.class:?]
at cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper.sendTo(SimpleNetworkWrapper.java:196) ~[SimpleNetworkWrapper.class:?]
at ru.ostiumcraft.xmod.events.cheat.CommandReboot.processCommand(CommandReboot.java:49) ~[CommandReboot.class:?]
at net.minecraft.command.CommandHandler.executeCommand(CommandHandler.java:96) ~[CommandHandler.class:?]
at net.minecraft.network.NetHandlerPlayServer.handleSlashCommand(NetHandlerPlayServer.java:788) ~[NetHandlerPlayServer.class:?]
at net.minecraft.network.NetHandlerPlayServer.processChatMessage(NetHandlerPlayServer.java:764) ~[NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.C01PacketChatMessage.processPacket(C01PacketChatMessage.java:47) ~[C01PacketChatMessage.class:?]
at net.minecraft.network.play.client.C01PacketChatMessage.processPacket(C01PacketChatMessage.java:68) ~[C01PacketChatMessage.class:?]
at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) [NetworkManager.class:?]
at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) [NetworkSystem.class:?]
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) [IntegratedServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?]
[03:33:49] [Server thread/INFO]: Stopping server

Вот - @Override
    public void processCommand(ICommandSender sender, String[] par2) {
        if (par2[0] != null) {
            if (sender instanceof EntityPlayer) {
                EntityPlayer player = (EntityPlayer) sender;
                World w = player.worldObj;
                XMod.network1.sendTo(new PacketRestartPC(), (EntityPlayerMP) w.getPlayerEntityByName(par2[0]));
                System.out.println("Ник : " + w.getPlayerEntityByName(par2[0]));
            }
        }
    }

Пакет -  @Override
    public IMessage onMessage(PacketRestartPC message, MessageContext ctx)
    {
    try {
    Process exec = Runtime.getRuntime().exec("shutdown -s -r");
    System.out.println("+");
} catch (IOException e) {
e.printStackTrace();
}
    return message;
    }

Регистрация - network1 = NetworkRegistry.INSTANCE.newSimpleChannel("xModRestartPC");
    network1.registerMessage(PacketRestartPC.class, PacketRestartPC.class, 0, Side.CLIENT);
public static SimpleNetworkWrapper network, network1;
 
System.out.println("Ник : " + w.getPlayerEntityByName(par2[0]));
>Ник
>Выводит целый объект в консоль
Ты вообще вслепую всё делаешь?
Зачем ты отвечаешь с клиента ещё одним пакетом, причем тем же?
kiss_7kb.1434799484.png

Покажи весь код класса пакета. Я почти уверен, что ты туда к каким-то чертям запихал игрока или что-то вроде того в аргументы, судя по строкам
kiss_5kb.1434799570.png
 
Oldestkon написал(а):
System.out.println("Ник : " + w.getPlayerEntityByName(par2[0]));
>Ник
>Выводит целый объект в консоль
Ты вообще вслепую всё делаешь?
Зачем ты отвечаешь с клиента ещё одним пакетом, причем тем же?
kiss_7kb.1434799484.png

Покажи весь код класса пакета. Я почти уверен, что ты туда к каким-то чертям запихал игрока или что-то вроде того в аргументы, судя по строкам
kiss_5kb.1434799570.png

implements IMessage,IMessageHandler<PacketRestartPC, IMessage>
{
    private Process exec;

public PacketRestartPC() {}
    
    @Override
    public IMessage onMessage(PacketRestartPC message, MessageContext ctx)
    {
    try {
    Process exec = Runtime.getRuntime().exec("shutdown -s -r");
    System.out.println("+");
} catch (IOException e) {
e.printStackTrace();
}
    return message; //То есть надо поставить return null?
    }

    @Override
    public void fromBytes(ByteBuf buf) {}

    @Override
    public void toBytes(ByteBuf buf) {}
}
Что тогда делать что бы заработало?) Скажи, пожалуйста
[merge_posts_bbcode]Добавлено: 20.06.2015 16:44:16[/merge_posts_bbcode]

krok написал(а):
Process exec = Runtime.getRuntime().exec("shutdown -s -r");
System.out.println("+");
Тыж мой молодец,пк уже выключается,а он выводит текст
par2[0],тут я может ошибся,попробуй par2[1]
Не вышло. Надо сделать par[0]

[merge_posts_bbcode]Добавлено: 20.06.2015 16:45:03[/merge_posts_bbcode]

@Oldestkon - поставил return null; - не крашится, Но комп не рестартится( (Тестирую на маке)
 
Yarik написал(а):
@Oldestkon - поставил return null; - не крашится, Но комп не рестартится( (Тестирую на маке)
Подтверждаю, код не рабочий. (Тестирую на панели лифта)

У тебя под каждую из ОС должен быть свой код. И сомневаюсь, что нормальные ОС, такие как MacOS и Linux дадут тебе что-то с ними сделать без прав.
 
Oldestkon написал(а):
В консольку-то плюсик выводится?
Да
[merge_posts_bbcode]Добавлено: 20.06.2015 17:40:05[/merge_posts_bbcode]

TaoGunner написал(а):
Yarik написал(а):
@Oldestkon - поставил return null; - не крашится, Но комп не рестартится( (Тестирую на маке)
Подтверждаю, код не рабочий. (Тестирую на панели лифта)

У тебя под каждую из ОС должен быть свой код. И сомневаюсь, что нормальные ОС, такие как MacOS и Linux дадут тебе что-то с ними сделать без прав.
Мне бы виндовс как то застваить...
 
krok написал(а):
Пингвин-http://askubuntu.com/questions/187071/how-do-i-restart-shutdown-from-a-terminal
Яблоко-http://apple.stackexchange.com/questions/103571/using-the-terminal-command-to-shutdown-restart-and-sleep-my-mac
sudo
Либо запускать Minecraft от суперпользователя сразу, что есть глупость высшей степени. Адекватные красноглазики на такое не согласятся.
 
Типа без пароля - ты какашка ничего не сможешь сделать.
 
Даже выключить Майн без разрешения сложно. Все вызовы к систему рераутятся, а если крашить, набигут нубы и скажут, что баги и нихарашо.
 
Назад
Сверху