Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import me.confuser.banmanager.common.ipaddr.IPAddress;
import me.confuser.banmanager.common.storage.conversion.AdvancedBan;
import me.confuser.banmanager.common.storage.conversion.H2;
import me.confuser.banmanager.common.storage.conversion.LiteBans;
import me.confuser.banmanager.common.util.IPUtils;
import me.confuser.banmanager.common.util.Message;
import me.confuser.banmanager.common.util.UUIDUtils;
Expand All @@ -32,6 +33,7 @@ public class ImportCommand extends CommonCommand {
add("ips");
add("advancedban");
add("h2");
add("litebans");
}};

public ImportCommand(BanManagerPlugin plugin) {
Expand Down Expand Up @@ -84,6 +86,16 @@ public boolean onCommand(CommonSender sender, CommandParser parser) {
finishedMessage = Message.getString("import.h2.finished");

new H2(getPlugin(), parser.args[1]);
} else if (parser.args[0].equals("litebans")) {
if (parser.args.length < 5) {
sender.sendMessage("/bmimport litebans <host> <port> <databaseName> <username> [password] [tablePrefix]");
return;
}

sender.sendMessage(Message.getString("import.litebans.started"));
finishedMessage = Message.getString("import.litebans.finished");

new LiteBans(getPlugin(), parser.args);
}

if (sender != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,21 @@ public PlayerHistoryData(PlayerData player, boolean logIp) {
this.ip = logIp ? player.getIp() : null;
this.join = System.currentTimeMillis() / 1000L;
}

/**
* Create a session history record with an explicit IP address and timestamps.
* Useful for importing data where the IP and timestamps are known.
*
* @param player The player data
* @param ip The IP address to record (can be null)
* @param join The join timestamp in seconds
* @param leave The leave timestamp in seconds
*/
public PlayerHistoryData(PlayerData player, IPAddress ip, long join, long leave) {
this.player = player;
this.name = player.getName();
this.ip = ip;
this.join = join;
this.leave = leave;
}
}
Loading
Loading