mirror of
https://github.com/Anuken/Mindustry.git
synced 2025-07-19 20:27:44 +07:00
Better admin management
This commit is contained in:
@ -21,7 +21,7 @@ public class SerializeProcess extends BaseProcessor{
|
||||
/** Target class name. */
|
||||
private static final String className = "Serialization";
|
||||
/** Name of the base package to put all the generated classes. */
|
||||
private static final String data = "eJy1V21v2zYQ/gf7DZyAAVTjqUk6rFvVdMhbNwNt2sVpg6EOCoqibSYSKZCUHdfwH9+n3ZF07KT24g2bEUQiebx77rkXUt/82TB+w4aC1FKVrXVmmpWiaIe5rBttHGGGZ09WBwNZCftgqlUPhGrmRvdnWierNTNWGMkq+YU5qdVyfQmGayPWzUu9blYJlx0afibce6PHshRmk9R7cFu4FUeu2Zjd0+onKqaGmRGDSnD3YEl9Jew9+iIbmOYVs5Z01TXs02bWtEUlObEO/ORkrGVJpKTp7DxqtsLRgKgXCQHkXkeHJBMjnTBJh9Bjrez+y3WOdMjR1ImjdjAQ5lVKmw4pUvL9KzKTA9oQqcCy4kIPCKhQYDHsSmf3hoSTA29kRaLJC1D86YoYYdvKdUsQUWJC/OzuVQ4w0Ma7XibtoSoNuAZavfd8D2T9azbQ5ozVgiYsiGTaZketrMokzXvOSDX0I2FIEZ/Byr01muavpahKADPApwUhvpcNhfPTFtbBDvWDIEFeRMkUMfpXFL+YNoKm5OAg6g9MpzP0JdrPWNMIVS73UNVWVZrmc84cH9GLkdETVlSCAInz+TyShA+7ytBPVzm+n4PfdKHa6WCWptmI2dGxLgFNCsG8dRhES72WNF9h3M/kc1FZQRZsX0Ia6AnAxk0NGIeUYE4MpUcwoyH+wRSppBIwCxvFreA0mdSQh9w2RpctdwQcJB8+dE8gHNt4gtoyUFw/7oJrjVrA70RMr6GFEOwjoB/fM24EIL8QdYNDmkA5DG8g4ZNsXNgEw16JS18FZDCJoJZzFFUt8ojADnKQ9MAhXVxfvu1CQY0lR1O/CveuwIKk/WQiVT2snX3Rh1/W7xutXb/PZT3e7ydpXyU7xOvguuo6USMT99Rlp0Dj760wU/KZBHFCCCjuCSxo8oQMjK4JxOjZ/ucjZsWRZqYE1VH4tTbklPERakUDUKJLW0Hk0nIjG5ed8pFeiGWhPZy1dQFcBDlxKx2BxI/DM4gBvuaDSeY7BwVGUhzxSlsIU74hJXiwR54+PdNv9FCDRzs+Spj+x0xpJTmr3kNnx1CH6P+32eKNlUCgQ5ibcoeUEtvDMR4M4TBihdVVC5uSY4gndP6hYfUJc6zfRx+6CqrC191v4jaW3ltwY5AZgKfrnhAl7U0t8jv0J0cjjJvSpIXTKVPQt5JV4B2y2yE/x18KLQEK8lvABDRK66ALpTMc1Tfwf9GTpHJEAujdHB4vyR4+d3aCIB9BW6DJZe+P3jZoabQLokl2cngB2HyYA5N3AXiwJb2C1jUH8tzQAY4t7T5//hxWtqcmkgE2VsjYJkXWJAMqWXEszs5jVuAqNI0yLKJvi7RGUGDmEdB5oXUlmCJMTUF6wKCzrovUsqdmlVBDN4qBw6NipT8vxT5RCZShkVVeyHdfa7ryx0qaBwTOtCIvwKWbDUcMEguiKXE472k8b5WTtTi95aLB+xPygEfE7G9EEnR+vs4EuhSqy99ZpqE3AMbDpsFiOlks0P+7oO4gLIsIgMUDY7kYEngdmH+csb7zLFP2kZJ91P66et2+TP9lwXgf1lbMXZp6kXtl81Ue7KeLK0PbynLRZ+FAdjBnkdLoY4LreEYnnkIcwaXktG6A7GXVB+PbeBEk0zyaXd7+KB6fP/6A8YIeqzjGLQqn+X10TevucOHj4bpl43Cy3DESXmPZrMyv2iyFt7kFEVhZ8wJhQFbQj8JY/Krx9740x1tn912IUNxadAjPxkEMlzcLYeJuXm0t+uoNU/j40gWWyi/Ep0C6B7fg3biKsDh8U1XaLOQXTgNX58fP9gk3PNLvx0AXx4+1poTutSLsN7/RgACXgY2PrGqxoKLaYBvBlMA7fM+sPQhX1mN5bXLRy2HDlJ5lfxNu4gWngBn4A93CDBjc9fyNeJGCvsuGrmnJXaaDjr8ApwI0lQ==";
|
||||
private static final String data = "eJy1V41u2zYQfoM9AydgANV4apIO61Y1HfLXzUCbdnHaYKiDgqJom4lECiRlxzX80HuD3ZFSLKfO4g2bEUTi3fF+vztS3/xZMX7DxoKUUuW1dWae5CKrx6ksK20cYYYnT7qLkSyEvUeq1T2hkrnJOqV2sthAscJIVsgvzEmtVvyVM1wbsYku9SaqEi45NPxMuPdGT2UuzENS7yFs4TqBXLMpW9PqCQVT48SIUSG4u8dSXwn7iL7ICsi8YNaSvrqGfdosqjorJCfWQZycTLXMiZQ0Xpw3mq1wNHg0aBICnnsdPRLNjHTCRD1Cj7Wy+y83BdIjR3MnjurRSJhXMa16JIvJ96/IQo5oRaQCy4oLPSKgQoHFsCterC0JJwfeSEeiSjNQ/OmKGGHrwvVzEFFiRjx19yoFN9DGu0Ei7aHKDYQGWn30fA9k/Wsy0uaMlYJGLIgk2iZHtSzyKE4Hzkg19ithSNY8g5U1Ho3T11IUOTgzwqcFIb6XjIXzZAt8sEP9IkiQF41kjD76VxS/mFeCxuTgoNEfMh0vMJbGfsKqSqh8tYequijiOF1y5viEXkyMnrGsEASSuFwumyThw3Yz9NNViu/nEDdtVTsdzNI4mTA7OdY5eBNDMW8dFtFSryVOOxn3lHQpCitIm+1LgIGegdu4qQLjAAnmxFh6DxY01D+YIoVUAqiwUdwKTqNZCTjktjI6r7kjECD58KF/EiW2KqSjEYkg1m2CQsUJ2Cgfj8bVRrWR9Br3XsM0IThSQD++J9wICOJClBUuaQSdMb4B7EfJNLMRIqAQl74hyGjWOLWiUVTVQorADnIQDSA2nV1fvu1Db00lR1O/Cvcuw96kw2gmVTkunX0xhF8yHBqt3XDIZTndH0bxUEU7xOvguug7UWIm1tQlp5DR32th5uQzCeKEEFA8ENjb5AkZGV0SKNez/c9HzIojzUwOqhvh19qQU8YnqBUNQLeubAWRS8uNrFxyyie6FUvCpDirywxyEeTErXQEeqBZnkEN8DUdzRI/RChkJMYVL7SFMqWb0UEjHgySp0/P9Bs91hDSji8TtsIxU1pJzor3MOWx1h3MNFD4b6HjDeeQTYc+rwNp2cagYL6ApcHcYnLG/gSohHFzGtVwyiTIB/xkWheCKcLUHKRHDDrKTw2pHJFA2U3h8bLTS0kh1NhNgLyzE0ZEpy9XYp+ohBShkW4s5LuvNV35cRKnwQNnapFmAPqbB0YLtPu3IBpDq5Bc4mA8xiMxHMMss7qoIS3RMcAXIh4bVp4wx4ZDrFhfgWU/cX4Tt83QeQtFGyUGCqDLgRA5fSRjnXB6ZLdHfm5+MQwI9A18AtRI62D+xgtclTfwv53G9/K6t9skEgX5BAYijS4Hfwy28ZY2dkE0Sk4OL8A3j+qAlTuI3dsSX8HQXkLy3NiBH1vaff78OXC2T02TDLDRScY2TbAB7qikE1hDXXZghxIAmTwIYHx4MiwcIsebOa+Vk6U4veWiwpsVjRD7y00IQ0QHaPmryjzMAQj5sKoQSSctg/7faLpzYYUgcKw5HFbMUL1NzvzjcvnBsqrXI3h91P4msG6P0X+JFh/D38PFi6zh5Ssc7MftTaGuZd4OGTh8HdAsprSJMUI+nseRTyGu4C5yWlaQ7BXkg/FtogiScdqYXV36KB6VP/6A9YIBozjWrRGO03Xvqtrd+YWP+3zLpuHguMtIeA0Xqu4879rMhbe5RSKws5YZugGooB+Fsfgx4697cYqXzf67UKFma9YjPJkGMWQ/LITAfZhbW4zVG6bwzaUzbJVfiIdAvAeX392Gi25x+JQqtGnl26AhV+fHz/YJN7xJv19Dujh+o1U5HF4dYb/5jQYPkA3Z+MiKGhuqURtsozM55B0+YzaeAh1+014Phejl8LyUcTvmSNVcZjKgwB/oFmbE4F7nL8ItBP0hS/xItOQO6aDjL203L98=";
|
||||
|
||||
@Override
|
||||
public void process(RoundEnvironment env) throws Exception{
|
||||
|
@ -112,6 +112,7 @@ public class NetServer implements ApplicationListener{
|
||||
}
|
||||
|
||||
PlayerInfo info = admins.getInfo(uuid);
|
||||
info.adminUsid = packet.usid;
|
||||
|
||||
con.hasBegunConnecting = true;
|
||||
con.mobile = packet.mobile;
|
||||
|
@ -660,37 +660,38 @@ public class ServerControl implements ApplicationListener{
|
||||
}
|
||||
});
|
||||
|
||||
handler.register("admin", "<username...>", "Make an online user admin", arg -> {
|
||||
handler.register("admin", "<add/remove> <username/ID...>", "Make an online user admin", arg -> {
|
||||
if(!state.is(State.playing)){
|
||||
err("Open the server first.");
|
||||
return;
|
||||
}
|
||||
|
||||
Player target = playerGroup.find(p -> p.name.equals(arg[0]));
|
||||
|
||||
if(target != null){
|
||||
netServer.admins.adminPlayer(target.uuid, target.usid);
|
||||
target.isAdmin = true;
|
||||
info("Admin-ed player: {0}", arg[0]);
|
||||
}else{
|
||||
info("Nobody with that name could be found.");
|
||||
}
|
||||
});
|
||||
|
||||
handler.register("unadmin", "<username...>", "Removes admin status from an online player", arg -> {
|
||||
if(!state.is(State.playing)){
|
||||
err("Open the server first.");
|
||||
if(!(arg[0].equals("add") || arg[0].equals("remove"))){
|
||||
err("Second parameter must be either 'add' or 'remove'.");
|
||||
return;
|
||||
}
|
||||
|
||||
Player target = playerGroup.find(p -> p.name.equals(arg[0]));
|
||||
boolean add = arg[0].equals("add");
|
||||
|
||||
PlayerInfo target;
|
||||
Player playert = playerGroup.find(p -> p.name.equals(arg[1]));
|
||||
if(playert != null){
|
||||
target = playert.getInfo();
|
||||
}else{
|
||||
target = netServer.admins.getInfoOptional(arg[1]);
|
||||
playert = playerGroup.find(p -> p.getInfo() == target);
|
||||
}
|
||||
|
||||
if(target != null){
|
||||
netServer.admins.unAdminPlayer(target.uuid);
|
||||
target.isAdmin = false;
|
||||
info("Un-admin-ed player: {0}", arg[0]);
|
||||
if(add){
|
||||
netServer.admins.adminPlayer(target.id, target.adminUsid);
|
||||
}else{
|
||||
info("Nobody with that name could be found.");
|
||||
netServer.admins.unAdminPlayer(target.id);
|
||||
}
|
||||
if(playert != null) playert.isAdmin = add;
|
||||
info("Changed admin status of player: &ly{0}", target.lastName);
|
||||
}else{
|
||||
err("Nobody with that name or ID could be found. If adding an admin by name, make sure they're online; otherwise, use their UUID.");
|
||||
}
|
||||
});
|
||||
|
||||
|
Reference in New Issue
Block a user