2016-04-23 6 views
0

私はMinecraftプラグインを作成しようとしています。 ゲームで「/ start .....」と入力するとソケットサーバーを送り返して欲しいです。 私のコンピュータでMinecraftサーバーを実行すると完了しますが、他のサーバーでMinecraftサーバーを実行するとエラーが発生します。 ipをlocalhostから私のipに変更しました。 私は常に自分のコンピュータでソケットサーバを実行します。エラーソケットMinecraftプラグイン

私のプラグインのコード:

package Me.Package.Tauhoo; 

import java.io.IOException; 
import java.io.OutputStreamWriter; 
import java.net.ServerSocket; 
import java.net.Socket; 
import org.bukkit.command.Command; 
import org.bukkit.command.CommandSender; 
import org.bukkit.entity.Player; 
import org.bukkit.plugin.java.JavaPlugin; 

/** 
* 
* @author ice 
*/ 
public class Client extends JavaPlugin{ 

    @Override 
    public void onEnable(){ 
     getServer().getLogger().info("Plugin are working"); 
     registerEvent(); 
    } 
    @Override 
    public boolean onCommand(CommandSender sender,Command cmd,String label,String[] args){ 
     if(cmd.getName().equalsIgnoreCase("start") && sender instanceof Player){ 
      Socket Sock = null; 
      sender.sendMessage("start"); 
      try{ 
       Sock = new Socket("180.183.41.15",50000); 
      }catch(IOException e){ 
       getServer().getLogger().info("Error Creating Socket"); 
       System.exit(2); 
      } 
      OutputStreamWriter output = null; 
      try{ 
       output = new OutputStreamWriter(Sock.getOutputStream()); 
       output.write(sender.getName()+": "+args[0]); 
       output.close(); 
       Sock.close(); 
      }catch(IOException e){ 

       getServer().getLogger().info("Error send data"); 

      } 
      try{ 
       if(output != null){ 
        output.close(); 
       } 
       if(Sock != null){ 
        Sock.close(); 
       } 
      }catch(IOException e){ 
       getServer().getLogger().info("Error close"); 

      } 


      return true; 
     } 
     return false; 
    } 
    public void registerEvent(){ 
    getServer().getPluginManager().registerEvents(new onJoin(), this);} 

} 

結果

enter image description here

+0

そのサーバーがローカルネットワークにない場合、ローカルネットとインターネットとの間にあるルーターファイアウォールが、そのポート上の着信トラフィックをブロックする可能性があります。ローカルマシンを指すポート転送を作成する方法については、ルータのマニュアルを参照してください。 – fvu

答えて

0

私はそれがなく、別のネットワーク上のLANで適切に実行する場合のでFVUが提供するコメントは、正しいとtahtだと思い、おそらくファイアウォール、あなたは正しいポートを開き、そのポートを通るすべてのトラフィックを許可する必要があります。

+0

Areあなたのプラグインの前にコンソールのエラーがあなたのプラグインなどによって引き起こされていますか? – Danielix

関連する問題