mirror of
https://github.com/TotalFreedomMC/BukkitTelnet.git
synced 2024-06-25 23:41:01 +00:00
mc 1.5 update
This commit is contained in:
parent
3ca030eb13
commit
db6f0ad30a
|
@ -26,7 +26,7 @@ dist.jar=${dist.dir}/MCTelnet.jar
|
|||
dist.javadoc.dir=${dist.dir}/javadoc
|
||||
endorsed.classpath=
|
||||
excludes=
|
||||
file.reference.craftbukkit.jar=jars/440/craftbukkit.jar
|
||||
file.reference.craftbukkit.jar=C:\\Users\\Administrator\\Documents\\NetBeansProjects\\CBJars\\craftbukkit.jar
|
||||
includes=**
|
||||
jar.compress=false
|
||||
javac.classpath=\
|
||||
|
|
|
@ -15,6 +15,7 @@ import org.bukkit.command.ConsoleCommandSender;
|
|||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import java.math.BigInteger;
|
||||
import java.net.InetAddress;
|
||||
import java.security.MessageDigest;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.util.Iterator;
|
||||
|
@ -37,6 +38,7 @@ public class MCTelnet extends JavaPlugin {
|
|||
private Thread listenerThread;
|
||||
private boolean run = false;
|
||||
int port = 8765;
|
||||
InetAddress listenAddress;
|
||||
|
||||
public MCTelnet()
|
||||
{
|
||||
|
@ -53,11 +55,20 @@ public class MCTelnet extends JavaPlugin {
|
|||
if(listenerSocket != null)
|
||||
{
|
||||
try {
|
||||
listenerSocket.close();
|
||||
synchronized (listenerSocket)
|
||||
{
|
||||
if(listenerSocket!=null)
|
||||
listenerSocket.close();
|
||||
}
|
||||
} catch (IOException ex) {
|
||||
Logger.getLogger("Minecraft").log(Level.SEVERE, null, ex);
|
||||
}
|
||||
}
|
||||
try {
|
||||
Thread.sleep(1000);
|
||||
} catch (InterruptedException ex) {
|
||||
Logger.getLogger(MCTelnet.class.getName()).log(Level.SEVERE, null, ex);
|
||||
}
|
||||
}
|
||||
|
||||
public void onEnable() {
|
||||
|
@ -69,8 +80,25 @@ public class MCTelnet extends JavaPlugin {
|
|||
if(this.getConfiguration().getBoolean("encryptPasswords", false))
|
||||
encryptPasswords();
|
||||
port = this.getConfiguration().getInt("telnetPort", port);
|
||||
try
|
||||
{
|
||||
String address = this.getConfiguration().getString("listenAddress",null);
|
||||
if(address!=null)
|
||||
listenAddress = InetAddress.getByName(address);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
System.out.println("[MCTelnet] Exception when trying to binding to custom address:" + ex.getMessage());
|
||||
}
|
||||
if(listenAddress != null)
|
||||
{
|
||||
listenerSocket = new java.net.ServerSocket(port, 10, listenAddress);
|
||||
}
|
||||
else
|
||||
{
|
||||
listenerSocket = new java.net.ServerSocket(port,10);
|
||||
}
|
||||
clientHolder = new ArrayList<TelnetListener>();
|
||||
listenerSocket = new java.net.ServerSocket(port);
|
||||
listenerThread = new Thread(new Runnable() {
|
||||
public void run() {
|
||||
acceptConnections();
|
||||
|
@ -80,8 +108,7 @@ public class MCTelnet extends JavaPlugin {
|
|||
Field cfield = CraftServer.class.getDeclaredField("console");
|
||||
cfield.setAccessible(true);
|
||||
mcserv = (MinecraftServer) cfield.get((CraftServer)getServer());
|
||||
|
||||
Logger.getLogger("Minecraft").log(Level.INFO,"[MCTelnet] - Listening on port: " + port + "!");
|
||||
Logger.getLogger("Minecraft").log(Level.INFO,"[MCTelnet] - Listening on: " + listenerSocket.getInetAddress().getHostAddress() + ":" + port);
|
||||
} catch (Exception ex) {
|
||||
Logger.getLogger("Minecraft").log(Level.SEVERE, "[MCTelnet] - Unable to Enable! Error: " + ex.getMessage());
|
||||
this.setEnabled(false);
|
||||
|
@ -174,6 +201,11 @@ public class MCTelnet extends JavaPlugin {
|
|||
this.getConfiguration().setProperty("telnetPort", 8765);
|
||||
this.getConfiguration().save();
|
||||
}
|
||||
testConfig = this.getConfiguration().getString("listenAddress");
|
||||
if (testConfig == null || testConfig.equals("")) {
|
||||
this.getConfiguration().setProperty("listenAddress", "0.0.0.0");
|
||||
this.getConfiguration().save();
|
||||
}
|
||||
testConfig = this.getConfiguration().getString("rootPass");
|
||||
if (testConfig == null || testConfig.equals("")) {
|
||||
this.getConfiguration().setProperty("rootPass", "abcd");
|
||||
|
@ -190,6 +222,7 @@ public class MCTelnet extends JavaPlugin {
|
|||
this.getConfiguration().setProperty("encryptPasswords", true);
|
||||
this.getConfiguration().save();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -15,21 +15,17 @@ import java.util.logging.Handler;
|
|||
import java.util.logging.Level;
|
||||
import java.util.logging.LogRecord;
|
||||
import java.util.logging.Logger;
|
||||
import net.minecraft.server.ICommandListener;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import org.bukkit.Server;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.ConsoleCommandSender;
|
||||
import org.bukkit.command.PluginCommand;
|
||||
import org.bukkit.command.SimpleCommandMap;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.util.config.ConfigurationNode;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Administrator
|
||||
*/
|
||||
public class TelnetListener extends Handler implements CommandSender {
|
||||
public class TelnetListener extends Handler implements CommandSender, ICommandListener {
|
||||
|
||||
private boolean run;
|
||||
private boolean isAuth;
|
||||
|
@ -43,8 +39,8 @@ public class TelnetListener extends Handler implements CommandSender {
|
|||
BufferedWriter outstream;
|
||||
MCTelnet parent;
|
||||
String ip;
|
||||
String passRegex = "[^a-zA-Z0-9\\-]";
|
||||
String commandRegex = "[^a-zA-Z0-9 \\-]";
|
||||
String passRegex = "[^a-zA-Z0-9\\-\\.\\_]";
|
||||
String commandRegex = "[^a-zA-Z0-9 \\-\\.\\_]";
|
||||
|
||||
public TelnetListener(Socket inSock, MinecraftServer imcserv, MCTelnet iparent)
|
||||
{
|
||||
|
@ -80,7 +76,16 @@ public class TelnetListener extends Handler implements CommandSender {
|
|||
Logger.getLogger("Minecraft").log(Level.SEVERE, null, ex);
|
||||
run = false;
|
||||
}
|
||||
authenticateLoop();
|
||||
if(!clientSocket.getInetAddress().isLoopbackAddress() || !parent.getConfiguration().getBoolean("allowAuthlessLocalhost", false))
|
||||
{
|
||||
authenticateLoop();
|
||||
}
|
||||
else
|
||||
{
|
||||
isAuth = true;
|
||||
isRoot = true;
|
||||
authUser = parent.getConfiguration().getString("rootUser");
|
||||
}
|
||||
commandLoop();
|
||||
shutdown();
|
||||
}
|
||||
|
@ -230,8 +235,9 @@ public class TelnetListener extends Handler implements CommandSender {
|
|||
if (!clientSocket.isClosed()) {
|
||||
if (isRoot || allowCommand) {
|
||||
//((CraftServer)getServer()).dispatchCommand(new ConsoleCommandSender(getServer()), command);
|
||||
mcserv.a(command, mcserv);
|
||||
//parent.getServer().getPlayer(authUser).performCommand(command);
|
||||
mcserv.issueCommand(command, this);
|
||||
System.out.println("[MCTelnet] "+authUser+" issued command: " + command);
|
||||
|
||||
} else {
|
||||
if(!command.equals(""))
|
||||
{
|
||||
|
@ -345,4 +351,8 @@ public class TelnetListener extends Handler implements CommandSender {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return authUser;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
name: MCTelnet
|
||||
main: com.bekvon.bukkit.mctelnet.MCTelnet
|
||||
version: 1.2.1
|
||||
version: 1.2.5
|
||||
description: Telnet console access plugin.
|
||||
author: bekvon
|
||||
commands:
|
||||
|
|
Loading…
Reference in a new issue