我正在製作一個bukkit插件,允許玩家用密碼鎖定箱子。爲了保護玩家,我想保留服務器操作員的密碼。抑制控制檯輸出的玩家命令
我想隱藏當玩家使用命令時打印的控制檯文本。例如,當玩家輸入/ gamemode 1時,控制檯輸出命令以及誰使用它。有什麼辦法可以阻止它嗎?也許攔截它並擦除它,或者是亂碼?
我正在製作一個bukkit插件,允許玩家用密碼鎖定箱子。爲了保護玩家,我想保留服務器操作員的密碼。抑制控制檯輸出的玩家命令
我想隱藏當玩家使用命令時打印的控制檯文本。例如,當玩家輸入/ gamemode 1時,控制檯輸出命令以及誰使用它。有什麼辦法可以阻止它嗎?也許攔截它並擦除它,或者是亂碼?
因此,我環顧了這些插件,它們比我需要做這件簡單的事情複雜得多,所以我想我會發布我的解決方案,爲任何人誰絆倒這一點。
你想要做的是使用java.util.logging.Filter接口創建一個過濾器。在那你重寫isLoggable()函數。對我而言,這是我的確切目標。
import java.util.logging.Filter;
import java.util.logging.LogRecord;
public class CustomFilter implements Filter {
@Override
public boolean isLoggable(LogRecord record) {
if(record.getMessage().contains("issued server command: /login")) {
return false;
}
else {
return true;
}
}
}
然後,您唯一要做的其他事情就是將此過濾器添加到服務器記錄器。我使用的確切線是:
CustomFilter filter = new CustomFilter();
plugin.getServer().getLogger().setFilter(filter);
其中plugin是主類中插件的實例。
希望這可以幫助任何發現這一點的人。
這個插件能夠從服務器日誌中隱藏的東西
http://dev.bukkit.org/bukkit-plugins/thislogmustdie/
的源代碼是here
某處在代碼中有一個代碼片段你想要什麼做的......
太棒了,這會很好。現在我知道這是可能的,我可以爲球員做更加安全的事情,因爲他們總是會使用他們的一切 - 密碼:P – Kammeot