From 7429d029f3b65ba2972a2f2744a1a3b3ddeaa1ec Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 25 Feb 2018 23:44:35 -0500 Subject: [PATCH] Added admins with in-game icons and permissions; untested --- .../sprites/ui/icons/icon-admin-small.png | Bin 0 -> 163 bytes core/assets/sprites/sprites.atlas | 241 +++++++++--------- core/assets/sprites/sprites.png | Bin 83232 -> 83427 bytes core/assets/version.properties | 4 +- .../io/anuke/mindustry/core/NetClient.java | 7 + .../io/anuke/mindustry/core/NetServer.java | 29 ++- .../src/io/anuke/mindustry/core/Renderer.java | 10 +- .../io/anuke/mindustry/entities/Player.java | 5 +- .../src/io/anuke/mindustry/net/NetEvents.java | 16 ++ .../src/io/anuke/mindustry/net/NetworkIO.java | 8 +- core/src/io/anuke/mindustry/net/Packets.java | 38 +++ .../io/anuke/mindustry/net/Registrator.java | 2 + .../mindustry/ui/dialogs/AdminsDialog.java | 14 +- .../mindustry/ui/dialogs/HostDialog.java | 16 +- .../ui/fragments/PlayerListFragment.java | 37 ++- .../anuke/mindustry/server/ServerControl.java | 2 + 16 files changed, 278 insertions(+), 151 deletions(-) create mode 100644 core/assets-raw/sprites/ui/icons/icon-admin-small.png diff --git a/core/assets-raw/sprites/ui/icons/icon-admin-small.png b/core/assets-raw/sprites/ui/icons/icon-admin-small.png new file mode 100644 index 0000000000000000000000000000000000000000..c5cf9ef819d56e78651df8836105c300232b09fe GIT binary patch literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^Y#_`5A|IT2?*ZZ@dAqwX{0G4WdzViJif|TqL>4nJ za0`PlBg3pY5H=O_D4)oEE;N2spXbHAp=hr#}JO|p=S*F7#uj54o>~?U%&XQ z=xR>h#5vm-p5AkL`iG%ptCiL>p(A(l7jISNKV8kqcT1Od4p1+Hr>mdKI;Vst0KkGT A2mk;8 literal 0 HcmV?d00001 diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas index 77a8a23490..d2ae5b0efd 100644 --- a/core/assets/sprites/sprites.atlas +++ b/core/assets/sprites/sprites.atlas @@ -335,7 +335,7 @@ blocks/doubleturret index: -1 blocks/duriumwall rotate: false - xy: 117, 40 + xy: 132, 78 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -349,14 +349,14 @@ blocks/duriumwall-large index: -1 blocks/duriumwall-large-icon rotate: false - xy: 117, 30 + xy: 117, 40 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/enemyspawn rotate: false - xy: 117, 20 + xy: 117, 30 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -370,42 +370,42 @@ blocks/flameturret index: -1 blocks/fluxpump rotate: false - xy: 117, 10 + xy: 117, 20 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grass1 rotate: false - xy: 865, 417 + xy: 117, 10 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grass2 rotate: false - xy: 624, 233 + xy: 865, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grass3 rotate: false - xy: 624, 223 + xy: 624, 233 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grassblock1 rotate: false - xy: 624, 213 + xy: 624, 223 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grassblock2 rotate: false - xy: 634, 235 + xy: 624, 213 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -419,21 +419,21 @@ blocks/grassedge index: -1 blocks/ice1 rotate: false - xy: 634, 225 + xy: 634, 235 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/ice2 rotate: false - xy: 634, 215 + xy: 634, 225 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/ice3 rotate: false - xy: 178, 75 + xy: 634, 215 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -447,84 +447,84 @@ blocks/iceedge index: -1 blocks/icerock1 rotate: false - xy: 188, 75 + xy: 178, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/icerock2 rotate: false - xy: 198, 75 + xy: 188, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/icerockshadow1 rotate: false - xy: 208, 75 + xy: 198, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/rockshadow1 rotate: false - xy: 208, 75 + xy: 198, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/icerockshadow2 rotate: false - xy: 218, 75 + xy: 208, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/rockshadow2 rotate: false - xy: 218, 75 + xy: 208, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/iron1 rotate: false - xy: 248, 71 + xy: 238, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/iron2 rotate: false - xy: 258, 71 + xy: 248, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/iron3 rotate: false - xy: 268, 71 + xy: 258, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/irondrill rotate: false - xy: 278, 71 + xy: 268, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/ironwall rotate: false - xy: 288, 71 + xy: 278, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/junction rotate: false - xy: 537, 140 + xy: 288, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -538,7 +538,7 @@ blocks/laserturret index: -1 blocks/lava rotate: false - xy: 300, 85 + xy: 537, 140 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -552,28 +552,28 @@ blocks/lavaedge index: -1 blocks/lavasmelter rotate: false - xy: 310, 85 + xy: 300, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/liquiditemjunction rotate: false - xy: 320, 85 + xy: 310, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/liquidjunction rotate: false - xy: 330, 85 + xy: 320, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/liquidrouter rotate: false - xy: 340, 85 + xy: 330, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -601,14 +601,14 @@ blocks/mortarturret index: -1 blocks/mossblock rotate: false - xy: 350, 85 + xy: 340, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/mossstone rotate: false - xy: 350, 85 + xy: 340, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -629,7 +629,7 @@ blocks/nuclearreactor-center index: -1 blocks/nuclearreactor-icon rotate: false - xy: 360, 85 + xy: 350, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -650,7 +650,7 @@ blocks/nuclearreactor-small index: -1 blocks/oil rotate: false - xy: 370, 85 + xy: 360, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -664,14 +664,14 @@ blocks/oiledge index: -1 blocks/oilrefinery rotate: false - xy: 380, 85 + xy: 370, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/omnidrill rotate: false - xy: 390, 85 + xy: 380, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -685,77 +685,77 @@ blocks/plasmaturret index: -1 blocks/playerspawn rotate: false - xy: 400, 85 + xy: 390, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/powerbooster rotate: false - xy: 410, 85 + xy: 400, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/poweredconveyor rotate: false - xy: 420, 85 + xy: 410, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/poweredconveyormove rotate: false - xy: 430, 85 + xy: 420, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/powerlaser rotate: false - xy: 440, 85 + xy: 430, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/powerlasercorner rotate: false - xy: 450, 85 + xy: 440, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/powerlaserrouter rotate: false - xy: 460, 85 + xy: 450, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/pulseconduit rotate: false - xy: 470, 85 + xy: 460, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/pulseconduitbottom rotate: false - xy: 480, 87 + xy: 470, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/pulseconduittop rotate: false - xy: 298, 75 + xy: 480, 87 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/pump rotate: false - xy: 308, 75 + xy: 298, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -769,77 +769,77 @@ blocks/repairturret index: -1 blocks/rock1 rotate: false - xy: 318, 75 + xy: 308, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/rock2 rotate: false - xy: 328, 75 + xy: 318, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/router rotate: false - xy: 338, 75 + xy: 328, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/rtgenerator rotate: false - xy: 348, 75 + xy: 338, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/rtgenerator-top rotate: false - xy: 358, 75 + xy: 348, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sand1 rotate: false - xy: 368, 75 + xy: 358, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sand2 rotate: false - xy: 378, 75 + xy: 368, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sand3 rotate: false - xy: 388, 75 + xy: 378, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sandblock1 rotate: false - xy: 398, 75 + xy: 388, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sandblock2 rotate: false - xy: 408, 75 + xy: 398, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sandblock3 rotate: false - xy: 418, 75 + xy: 408, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -860,7 +860,7 @@ blocks/shadow index: -1 blocks/shieldgenerator rotate: false - xy: 438, 75 + xy: 428, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -874,28 +874,28 @@ blocks/shotgunturret index: -1 blocks/shrub rotate: false - xy: 551, 168 + xy: 547, 178 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/shrubshadow rotate: false - xy: 551, 158 + xy: 551, 168 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/smelter rotate: false - xy: 551, 148 + xy: 551, 158 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/smelter-middle rotate: false - xy: 875, 417 + xy: 551, 148 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -909,42 +909,42 @@ blocks/sniperturret index: -1 blocks/snow1 rotate: false - xy: 885, 421 + xy: 875, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snow2 rotate: false - xy: 895, 421 + xy: 885, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snow3 rotate: false - xy: 905, 421 + xy: 895, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snowblock1 rotate: false - xy: 915, 421 + xy: 905, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snowblock2 rotate: false - xy: 925, 421 + xy: 915, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snowblock3 rotate: false - xy: 935, 421 + xy: 925, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -958,28 +958,28 @@ blocks/snowedge index: -1 blocks/sorter rotate: false - xy: 945, 421 + xy: 935, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/steelconveyor rotate: false - xy: 955, 421 + xy: 945, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/steelconveyormove rotate: false - xy: 965, 421 + xy: 955, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/steelwall rotate: false - xy: 975, 421 + xy: 965, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -993,56 +993,56 @@ blocks/steelwall-large index: -1 blocks/steelwall-large-icon rotate: false - xy: 985, 421 + xy: 975, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stone1 rotate: false - xy: 995, 421 + xy: 985, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stone2 rotate: false - xy: 298, 65 + xy: 995, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stone3 rotate: false - xy: 308, 65 + xy: 298, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stoneblock1 rotate: false - xy: 318, 65 + xy: 308, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stoneblock2 rotate: false - xy: 328, 65 + xy: 318, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stoneblock3 rotate: false - xy: 338, 65 + xy: 328, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stonedrill rotate: false - xy: 348, 65 + xy: 338, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1056,35 +1056,35 @@ blocks/stoneedge index: -1 blocks/stoneformer rotate: false - xy: 358, 65 + xy: 348, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stonewall rotate: false - xy: 368, 65 + xy: 358, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/teleporter rotate: false - xy: 378, 65 + xy: 368, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/teleporter-top rotate: false - xy: 388, 65 + xy: 378, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/thermalgenerator rotate: false - xy: 398, 65 + xy: 388, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1105,49 +1105,49 @@ blocks/titancannon-icon index: -1 blocks/titanium1 rotate: false - xy: 408, 65 + xy: 398, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titanium2 rotate: false - xy: 418, 65 + xy: 408, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titanium3 rotate: false - xy: 428, 65 + xy: 418, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titaniumdrill rotate: false - xy: 438, 65 + xy: 428, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titaniumpurifier rotate: false - xy: 448, 65 + xy: 438, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titaniumshieldwall rotate: false - xy: 458, 65 + xy: 448, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titaniumwall rotate: false - xy: 468, 65 + xy: 458, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1161,7 +1161,7 @@ blocks/titaniumwall-large index: -1 blocks/titaniumwall-large-icon rotate: false - xy: 557, 178 + xy: 468, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1175,35 +1175,35 @@ blocks/turret index: -1 blocks/uranium1 rotate: false - xy: 561, 168 + xy: 577, 183 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/uranium2 rotate: false - xy: 561, 158 + xy: 561, 168 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/uranium3 rotate: false - xy: 561, 148 + xy: 561, 158 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/uraniumdrill rotate: false - xy: 571, 169 + xy: 561, 148 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/water rotate: false - xy: 547, 138 + xy: 571, 149 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1231,7 +1231,7 @@ blocks/weaponfactory index: -1 blocks/weaponfactory-icon rotate: false - xy: 557, 138 + xy: 547, 138 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1511,56 +1511,56 @@ enemyarrow index: -1 icon-coal rotate: false - xy: 228, 75 + xy: 218, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-dirium rotate: false - xy: 238, 81 + xy: 228, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-iron rotate: false - xy: 248, 81 + xy: 238, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-sand rotate: false - xy: 258, 81 + xy: 248, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-steel rotate: false - xy: 268, 81 + xy: 258, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-stone rotate: false - xy: 278, 81 + xy: 268, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-titanium rotate: false - xy: 288, 81 + xy: 278, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-uranium rotate: false - xy: 238, 71 + xy: 288, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1609,28 +1609,28 @@ mechs/ship-standard index: -1 shell rotate: false - xy: 428, 75 + xy: 418, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shot rotate: false - xy: 468, 75 + xy: 458, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shot-long rotate: false - xy: 547, 178 + xy: 468, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanshell rotate: false - xy: 567, 189 + xy: 557, 178 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1769,6 +1769,13 @@ ui/icons/icon-admin orig: 14, 14 offset: 0, 0 index: -1 +ui/icons/icon-admin-small + rotate: false + xy: 124, 82 + size: 6, 6 + orig: 6, 6 + offset: 0, 0 + index: -1 ui/icons/icon-areaDelete rotate: false xy: 93, 2 @@ -2483,42 +2490,42 @@ weapons/clustergun-equip index: -1 weapons/shockgun rotate: false - xy: 448, 75 + xy: 438, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/shockgun-equip rotate: false - xy: 458, 75 + xy: 448, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/triblaster rotate: false - xy: 567, 179 + xy: 567, 189 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/triblaster-equip rotate: false - xy: 577, 183 + xy: 567, 179 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/vulcan rotate: false - xy: 571, 159 + xy: 571, 169 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/vulcan-equip rotate: false - xy: 571, 149 + xy: 571, 159 size: 8, 8 orig: 8, 8 offset: 0, 0 diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index 05ff91f4a12caf7375b0a8867e1d43a4c329db42..30688656872ccf8ce5415460d2dd2ad375ad7484 100644 GIT binary patch literal 83427 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 De)y&- literal 83232 zcmZ5oc_5T+_r7OoLX<6qM1?3@)|AXt)(|RNWXYB-Ns=rxl@=jH_8LXj?Af;oAv@X0 zh%AYa-He&vt@_^g`+mRB>)hBrpoC{cLruE9NwFCdq|Y3#fFvhds&->C`fRxemwtEOTz3Vw_k2a&~eG1 zI@;{KJ5U$|JHu;?X6k8{=f|hLzssIbS64qV{cOYh%o%Zw)YI$?f#9lr0M>y|YMbb1Y?wTw_ny zFSlAqq6D;)@)4H)8{TD}b1RK9^qYhH)=z$k=!xb`oBcED_p{lU0oPKdf^&uxFwDIC z_8~T`@GSyoUFA7qJNeG1J;;~kDz;tk-!YbewSrYx4jd#_O<_Q;(+HRO++4-#u=nu8 z2TpPhaf40PHk>#!lz?UuIQZYgZh50{-3{-Vf%v@U{O2HSfS;ygqVj$tbrewi@B6xh z+iN1xX#Z7<^BBTqw_d}K!US#vX|zg7SQAZP;-F*i&Kfz=(}+$#Pu$e>U0v@z`mE~4 z!Xb~1p{jN3C;vW*nQ+|}sHhHLNY$<`8OHRsYU0PLW>k*T0HepkcP&kKVEmEp6h*5z z)5oFk^RBsv7&%#U&<@M|?<4jCbL~gmK#rK5iXoV6OK=$xCZk7g;D;qvKki=lOZAJ8 z+q`N=4v#+avySVq? zn{mn*-2G7c8E){yo}89dMcZhYS!_W#uCcJ}_Cg4zxpoY-#-7{ML(LarVji11#13?JqKY`^e|xi&p0sEkHK9)5TD-D+l5LHto@5mKkh21~!&| zq(n+uWL-8j?MKg_qX@25v<7hO)-UXco|v%n)m}`W3tL-d0fLBs*TV4_=rm^^VP2p6 zgdw%RK3fodSi-EheGf%9Y9nOnXXcalEf}D>J;$oOBd@9v2;6L_IzTHx+^|^3L$0Jyq9l97irP_%L#>hKIovWr4{&$YbtgqedXC@o_=uW_Ar;~ zzpr2kY)S-4qHErH2+|MQ+j;v#xLD-A-K4QT^xD@bSHofay5#=FjICAhP5VXo-k&3;ka#78eCle>#@Ci! zgD2FQ9cmd5C1<;nT>90m1O6F_Ym)~T*yc6c_SA#adkIDSf+)hj^CrP{Zx3cBSeZ_Qtz|>+T)9}R zYl_B=1@8L#-_uPfO!5^K+C9^O0RbDy$-)IWpZ2U*S@==;K9IvPI1?%b16qD*agg$u zadLD^h5xbDr&hq{j-_#kH27;(1v#!xP8WYfQ45F2bwVspja#X7e8k$Zij}Go6aF!2 z(1#vr$N!h_k^+wGQ~Jg=&jFq4I=4TmpMx2sBXOfd^r@)zqb}Ys$OW!WRQf&D80=E> z3d97-QH-~TQJA?4gBb!t&}l&Gp4rcxzX z^f@|DKS5Y5hT|HD4g)g8;naV<{nq9kJeH0K{YI6{DtTFp50L`KRIPh$Y6Pda24O-I z2z9w%>MZc@&Y==mw^paO8#DyO&$sPaQyP=}SlKVJaikGIpa1Wp!PEx~j;)`A1&A)0 zj9{RZCEUo1TumP<9n$TYG&~n%oWS9SHES;au z$c95g^})nURS6m=jIjCO%D#n${$6k;f7PIBG^iFU7+ioeSZe~`F5@*tX^K>`;WmPQ zr7XIb<$vz4&K0A1`y&L{5r!(rzDCd(gXg1F-ID(=>lTPbjCh%g)$Lv^h_5=#4WyX} zeLX$N%(-*CpzCmbq2FvrCqPjKJLmt{46#9v1f*X>EID& zu*d2@&j5e~rXn%8Oqrj{^5EPh;#%$DcntU;L<^v-%wDu_jqmWWBHwN4=AEqhcMRxM z0M)-yMhz$)Wl{|)6T7b|L$^hd4pl1B4LAF|EW;i9^DlprKUfg_g`5TL+B|pd@xL4L z+s%AnA;@em{BDB(3`SDHXONKVv@5FzL%P3s@_*j%iD3I7aYl_XpHqE+LDuwqwnggs z>(`6~f0;~0u^{j!AP%SuV5_`^uHX6R75BnOS{jbXarFv6(IbC4ic#=6H?EoZp3hC{+|I-;Q5Xf^Z~jQxXJ_KB58%33EzH-^HLdrJVKCo@-|RV`sd!Q zXe#y3Z-DU14hZg^Put5N1x6(i0vv>3AogE#wFG95G=T##5z+YQe>SiigL|q;y`Xup z55+=gQ2X?Gdy&x#gqS)ihf&V}Ge7h7OYzr#o?{7jN<;&VOA-ml*WG8-rc7~uftX)w z^qS7i%*bE{m)YlM0uKGp05lJ9kYv2^h`K6>vTTk%rcWlPAIq+ym7efkd3OR&E3c1e zLWo_`J+;jF|Ca6-bO(m#Z#)aI21*OH9Mhi;6Kh#^{WE2hK)eGl(0`S`eJ{}05;Y8_ z(>}E9)&fsLPOU`0_qgf`m?T(MD>s!7h#7Pe@2e32fLJ0d3bo< z#Y@{hjg_%~<_LXmQ>6IC48zR4o8LR%rl+N8w!Bg{kZX%iifoB{cfw9b&;9VT&LkH{ zr+8XI?0}TMPMo|>3lVEkP*|9*8pxHlva-U|xhSWgkWu13nI04D-u1p!O>X)1PPy^i z-Lda=Ts}{>8Oqo-&wsC;>Ccz@?sIF{mT%VabK}nC`B?JJAJgXxZg(>k*nDF5y)q`O zZE$vun1UH5r#%WXO?wnk_&6x~4JIT$@lg;t^^v^NyGJ@h?|zEU?%Jz#2Cs&~FzY?Q zuv~yyK(=3!@1VT{uX@NKwIIE4VV%x4-8n|LuhkD@`S|$!UT_Xf-0m%YaV4&+(IX^v zx2d^aQ(?vHNM~PD@qzi+%f&0UIs?gtwkL-#9^Joz3olFzI`qe1Kr4sHbY^uvCi3gK zR%&>=J&LdjtxO8g!ks~A`{9K)n}s$(HyAF^LcEyM7=jj6rXSo0zzcH&S-;_k1xM>a z?Si`>Y`SmI_27rdPbW?ap$PuRxk2)peI5c=J*)uEXZF~ja8KzX7!cN~btXoIey<=9 zW;GVu8E;4%Z0w3j#$a2f7CXenCyfwI=%@r`of^YK#_ z{9%P&#OyX_&tPj50ex}@B~nh(AulKDjdJVpKgV#(1g};+_TJNWX}lA^`#zBcxHFPI zg&%gSL4D}}^PM)DBNVX!%2VG@l%Hj~`GQL*6ZV-fWA=!!<1jL|g!5jO^IrX#`H3<_ z?(0i6Vc)nX7I2p+^wr{Y|6v^<&lo*qE)SFrT1Z+%t)E!i{E4Lv z`0KsvPC$_D;d5WgO1I#GB%C#UWzepN}p0iz5CO*ns%|54+3CV5uG_G320%suA zBER2${}_*Y#GpRep6+WxD-8hr-y9Ve#zJ`4afpQwDnh{J z+bmCa=Q0!6;qm%10CE^NQm$K%y_=3AMZHk+sKIf6HvF(4}m;Hj?18Y%W*cKk}%0I zNx`t_$*8gDzhtTDPIp+%@ETK36-|7cp=dpKG0y&(J|%X)-rz*AcmX*@Z6|kxDc9}u zIX&IoZ+o(?WXNA1N-cEmA0>a*zU=x_8YC45@v@QNHld|hKpf-9Q}E;}&{z;FGP%(h z<5bcn4CdKB`N(aliIUi(c>Iw<;wca9!v}0o_cf}C7TaB#ln3pbv^tT>-MK(2e6c`kAAwD)^x8wms`)xq976_8R!uRKpB>cqS9vz^|Nit5o#^9zX z?lx`bJ*L_Zd~~9wu@g)-bPM&_Nh!~i?(FoqY??D_xq0N1G(=DNG5scL4Hk2m#9io4qFmaSXXqnOb z^ol@x!*4+95U}A5phMVYVYvD;O+li&_UE%J*%Iwn=_9%W-#e@$R}CmD+$T7R+qeRJ z9gsN)lI-A}c&{L*efrnccUy)Z*6m@I!N3IkjUeJySR%p(P2gq`Xn{~Eha0I9mkM@yR{$#MF=Um0r7z2w{ROOl@ui9R6*dacj@VoLZ_Spl|Bo$KYrf zQsc9j>DM0lsFF9nJj?``_8$CmbheOG&o@(f4uHWuM2x5=-CfD_>?*@j8X6bI>M6H^ z!>k$c^V{*Hs4>QLGNpo?QEXU$Tz92o@@}_*QJSvr^u_6H+H`i8z49Wr$8xt(hErCF zS~!-nGPlz}>lOEFJLR6i{1})Gz?}PeRwzEILHE#(GG?}@>Lck0f$+3h?D8U0qp}S8 zC9yY1ETJt+a49osi1F+r=8ie?7f*8LxieMwH#e3)Cq3P+!gEwrFwjG0<1~}c#Lq8f zaxJ&h6L3zmqF;xnw}l(jY@UUoZXnh5XY+z!L&fDa>R5)H(<$1=!@Ulb>kn$~DS0HE zU3~cYByxSG<3%ji&(A_&(9~|@lWGV*CScr8Dt+dWZ=i9Z6KEYfm zxcZ|fbAMQ2eGqqIhKa2Bz?*?yrOa&<>Ta?T#{{3g(CKW=!LGXdued$_gbtjiG>F%v zTsU`x0hO@fTg?tvoG^D~Bfy}Y{;h_%F*qq%`9`ABL$nKR=|dgk&t_d&DmnMH4N2ao zE>`sY7=B3|pQOAHpnHvDe&a_K&B=nQ#bHSs^9)<-#o#`NZ*B^KPLT7WZA=41 zF@hl0V^FoLt1!>yNL$0I2r5B^eKS_FV(Ganh$xcNe6J3Drf>3v@WqLii%vc7 z7FYm8H{3Fl>FYZb98n2x7xlmN^!KMV8AaAPNSL^v^KkZS+OrG^DUvVCN!fl7I%fIj zoBw*iK=R z7M*JMu~>RJ+D!bINxU^RdNL)-}PO z>cKp3?O(LC1=oja3UDm-U)v#fIR8<0VA1%pe*bx+GkTXp=A^;>+Ec6D2WjKE6nX8= z_uPn^_|Kgk%KZ$`A)G9$bBYxveB`uzo&6B|U^Oj7`Qo~AoC&36wWOlr$_@(qDd?Ev z24Z7lFIih3S~Utjgc|wUa)ss@g(c?Ow>dr-ePLv-&+jvTZ(}Mk63oHDxZpM z(SU0)_T4*#+$`AFF1Ifxa<1A-P;oE)7ASY2mm9O@r$o~R$%bm@x$`%(p1WTSk_XHS z7PiRHHKNBic``$&FsapOQdAz8IZ<@n_#;rH-QpzS`{FT{1Dc=+OZC4yI#ZQ~-+VZE zYP}+)t45vNk+eDKH?Q@j$Y;GL{nxFVE~T7)rbeFAH}J6^ihQq&{dC|457)OxFkSK- z_DacXS<$*knu*eq7hK=y$+qB+MPK3p7vcwNeKUO}F5Y7SpV3lV4i^SKX9#6Ro-(X` z=pUmsS1~?A8<*e7#q;M(DXgyhCg<9KTeogq;s#y9%?M&w>)3f`(p3p&AX$`Eh%v4OFlc4f zVF-a@T@c@BT_t`GaKRIM>Y76FCXwe0*>=6V((FWgS^cW73XiXds9rAVh<=`vEe*ak zSIL6o-^jZWq)plUeJiG+HjKE=YjDXd7hKiQeYI7=@+eXvniRiY6a!R5*WMneb@8!y zVZY(~mF{}9D$PL!IdzTjaL1kvh|73Z$K-0dVwOKIT>#VJM2;3J@szir#hw`Oe%BxV zm2i+3gzfDH8aHWsdWX)B(r?Oxa)Jll99Ja|8mot`uTNioCpw6hJc=55fgd(tL+Aw} zECa#uUqg$u3Ai33P6s&%Fi+nJ$&cUHUclCB!9_py2{0sLX(cJT z8Ld729>;*j2)<(RGS{D?R`@8s_GOgujQ5!}Z#5#BikwOOq3EOB#554b`#9khB+~UCrnqCNJ43OL=RliQ=Kiens zB5WvRJ_Wy#VjxV&6GXg^2BouF6_r^VtrZq6w4Z7zh@7uADVIJ!6_)e(=IdxxgJ!2q zcgSV-bS?^~hMmQv^~(sS+42QDwynIFuIN2)G#|j%)b&WHCB2|TKhw16 znSa&YADKlyC|K5_&)8!xQVL!5T^8*!!d7=)u&#gB&DbRfS+}%g?U*-^k3hC1oGPQH*-$nT^BH z?Y7|C3v`a*0{^N~@|ptw6*e%Dcoa$U2?|H+8QL;vAw_C7bgbH{$w45r3A2(JJEsn& zBnxZaeU1MQz4aT_h9PcDd>S)g0|&G}0s$*}$ki1hEn1?D+T_xm;gB$W@~ZB~8D&O4 zo{O*6qXzvVNS|f{sWCKIBY4~IH&-CDD)PoT<0CkJ`>Xl{b5+}cL+a`DxkX}c_QGc) zi_D*{(KdWVnO=`#@rwo1J-RgVZny&xNa`HDmwt&zSu2=s!n;*?IG3Ctl&;oQ>9cs^ z4T8%SFFPRD;uYRRODv;cO>=M>$; zU*}$!SYecoJ0+Il2Wn#Tqm&XqVj1tsBT8>qWt^ipE+iXuJ>_#vO|=C&uf-36q+{(v zL+|Q>dF?sYVmUwHgfXf|LK{-ffgyD^*6~_GX@q6GG(lML8~K8;o;{IV?CA=cefa{Kogz5h^kaQlzCfS+-r@6m2EmS^yUUKMTKiL9Y7Fk+ z64Uqsq9J|wEFxi2_^T${4jU$oEQ>G0W6Xq?>be`NwLR8tu=?XtG~;Vn5U-q-ocZIa zGiaYYw|bCyuB1i#gdrE3{`kc>f_L7*({v?x1K@91vX-};@7~oA2 z;-dB5_Uk5Y9=>P5jvuBKDO`iaYBx@T@#I{f@7?k{3vZI0$J{7JnFdj>=2BPyk2MeI zQX7<=_|iL(z9XC8<`B;PE5{GTJ@?cH^Rnri*59;#A=jR*Z)nb7hgSo|s1?#L=k^3_ zM)LYB%&~o94K-F=z_72F@5@7sNFxl*P8eE&Vr__ICH&^BS`;Ld(pdiWJwQ#&I;1hWkCn%J>zC{p-qx*eKe z#)ON2#Zgao>OKT%Py$8xhz*Hy=>&Z~Nk$)+xqA}^vo|IzRM=?p>1DKys-_$~ow{!u zPN`?kX(J5n2Q?hFQ&p0AjcSDJSfz}DYG9nd8S1y>xA>Wd&ISwANC9n|k)BY{I^*pVs57M4&7E&XyXuddAk7TU}1~q`5;x>zH1c=v2sqglARzkl|KWWTs5)R zbWy&oa_}H9Zr0)u5JM8`OAmsn*q^3e-Y*nCP{u1`SpfUWcJ<+jHfp}{=;lr0i5vBN z=|3jy#ODVw*MHg5SWu*+s|Jv2-B@4#Rp|hf-s2-xy-`GJM z8_s8w5;9fUYp#^=5o?a?FL>?ol3GpQV#47_$7NA%r z{;{$N%^<^MJg-$+TcvnD7UWHnf?rlt;GL((;}Gv%cz}dkW02F9|B#W!J@pkXSnzbJ z<5XTQA4<&NM3rcl38^e7GQq8|_ruun&IgT`hHuocD0>kpi9F!t z(Zc^|Ico6=vWQx-N|@cA=uG&Cax%0kg)p`U1Q!o&TOZEJGfDY=U$PFLfx5kAp=B!wg1y!zP8t|xo1{bamN+dfWWQIrbK$aJa8Dl7NP}nKK(?P%j4}1S}pi z`zk!FVh&Ex0FcBsNEaB9TZ+|;Tj0DB-cTO zsAt7}eO+00Z7y~E!oLy2H(}bT9WN4F2)^c%T6jiZqw_OUHH&(D?=m zgBKDpvAo@RLU$w0>A9EL=M0pVtKTvW)G?$NIQ2FPF_jJ%yz|hJY6496t{fgrMMFkua3X( zcSJUP3m2q?@SRMKLhG5Fc*Z2q=yqX#@s!{vxY8jny>P)Xxfa2%DpL+h6E-A`P&f&c zzy(=CP$blq$S{L`$xoYGHM+$5pc?+ef0pGi4exi&UssgCoy;0Jn>Cw|%U)E|eT)L1 zWaw2so+-cl7T!4emFHfa#kSF8Y$XVnnZZ+V{M5`{s0QSu+$7fBK$D)9-P#Gr=ukG4 z7|kIl2qZ}12b-}SW=Nc1#K)>N*wf2zDp46(pg@LLHJL}`<4#O!7{`mfmW%8U?*z4-G5X-Am>*J3A- zVnMjaw}5MdxtDen9;26iaq@bdaaCB~vfj zy2S#2YWE#{N$2~-gNz9-nrC7)!NZZ&B1J|4BSfesP+YROUiKW+$$_=XH&WgvLiZ0I zPu7V`R&*Ox3E8S4eg+I2ELNlUe<9oD^lqJthHBTfSkVoYpwENqh1nM*$<(4K18$rH z=xgWzP$d9K_k8Ar_~jyT#wVs2DaV+K_f0@e9J{xm+~Og^lH0!WS&lTpK@!1AKE22C zPkCoV9ypI;T~H*sLPHekc54!bV6A!I6`-SmA&PJ||1H8YZroFK`~2K{W`IUcZJMfhf(z7IL~hd_rkD*@Aav$F+7ML*htReXA%3wO7-<3_8lV*oGPE&9xGakT=t z6PIn87k}$Q2xYice!1(J(6sSfwnH@#$wIVmP?Zc$JQjAT0Z*=jq!;M+wcz)&-hV5? zPi&#aXFiEg=(4?~tCwejzZcvXXVu74!l`L?!Fpj>+Z%Hp#CsT6_gP1y3@|u7WuV#1 zPRQzZT9P|Y?w*oFK`WCsJ9*!D^(q4tIAUj%rr*wClX|XK)NqI4eDn9Oo$DqyTU8Tt zefpxhcg1;A@~OgUbF&4Tm%cCdQuTXnmQ}1X_*pEUZ%AB^zhnh!6E;S|I%w|VP~*D8 zo>sooB|35Cx^pkvK}HtB(^V`K-mQuGBSzwkZ(XSxkkJn>Z1InjUJwkcyD}taajMEa zY`Pr(#PNrBc3QKqbuWA+*{=CdP5z@ZkM6!&+8v{$hUGnm#}gujB^@_S$ZkX z=zCPFE#(n2_nYv;Jsaf`=M@VEQbdz&iB0V{3Ld-lJaUL<&UtEG7t|qiz`n)BNT1j% z)*l^ldcxldowmE>Y}e5xy$!|7PWz_M8oI=kZAoP~GKQU~{D)DL-5QR;T zxj_N%MoCe2XA@?rSi!TUCp*z?p>#RkU4n8zsdtt8w_}C+oSMPRgG!FO3B^{c zn)W{)3^?1VaH0gNr5U3TB$-!+x%gZoNu4-Rfg?!j?PR~}8L|E4Lx*}C!HtK68r}Gd zDl%emHBEf@Yw%BZvSLINC8vgx5hKe|msx;$-sv|dvJg49zIS#-0zGr2d8EKYtjk5- zWw)Qm5*k^GY02|p&*|{vhoARF2?JiBov-sOpBp`Kd~vS~hCVzsg(gZCvB-{JS++p>&v-`r0=O&Y`O z+?V;2?WN;8roBesr9UD!*^|50;?jd$QvI^ zU3%V`?1uOR=-aKmEuOS?Nxs*j4RahjHLoayWluoV{mtAf!Kc}dL3ih44*z7A6ony; zxbe!G%*V<0CUe+aI5DiS&Ci&Dx)W0$y`%c_H;YoYrm$b>l40ioZ z2HjW)M>t54=yvI&=G{LBB83V4{1GkK>lUPf6K!l?<rY}lN3&93NZtXg-J z^jO|g^;&te#Hl-l)*IDz7)yDGTPa=N`FSaQAo-Z=3cvTVA=E@IaBRQnPnu^-?3(qZ z7>OZ5-?vP~ox#5QV#m`L32s!MkY})oW{ zU^yU0q}`BDAW#VGd(?7ZysmI3n`B#KTJ$Kt7Pv6cvu*R`)t6plE}l>)(V)R_lAjk? zjgqgT?<|QFB?e6vx-OM!_MP3+5>PU<#YMpw(O!4<&Jhs6YTo8P|TIjhK1tO+TE_t z$j`O7anKedK5I0ljw*#r&N^TSPAz_VPq1;Q)0)Vdp!=7hIOF+RfYOduLBhDSS6J&F zIYxoDwfuQ?cG8+AXi369j{tg5(t*NV5XK1pT4TTvJYxPMySGGg8dJ-(0oTfV+JGGs zYg(H;1?#)9bOc2bo_C2DyW{=oxzGu>eLJAKxQ{hK*`!d1W~C_;X=LX1@I}`icV8z* zHprAqR55^y4TC+iW$frj!TH?V>>Q4pPE`y=9axhVB-TSw;bXt;NeI?euPgPrhy;^o zm>jij3Csx)7Kv_H@UH7D8&2YmjHm6qr4s@Rs&%bIEcPf$pzGS-_KBMWaVCPs{ec%v zgpFqIJA5>(hhqXlAPOB#kw@W_w+G@KkW${u)8m{JO%wSY>A2a`zDI?9P+Q{q>sBCs zSjzn6ptAm~xt!MFL9?>knFE!+-rK&P#Fy*^oIUjF9g@dC(!&m^UsBvx*$#t_<0hf9 zat)vORal%VR3u5{gZ(IK4c;R|p0JlnhzzVO5Y$N#Z4!$kC`cZ221ISM7mOdNA@*lj?sdw0!T$MqXedZap`xzxo=f}Y_ahx z>C+yq`((|zhiUhiPegvg;EXSYYK!fi+&cjuv&7@KN6Xsh=Gw`y-fFGF_wQ4?GmM-% z<%`0dY8aTOV<}uUFk)kwOYin9O z2NXm$X`!Jg;?E2cCij9^NCWF}ayb{uq=nQ)&n6=*4;e974%E%_&&zU%Hsy5i4{sHf z(&l_7Pb!&`#hD2?G?91X`@G8KxAc2YZ9r%aB$qEH&b_qF-2yGMyD{UE{Z*KziZ?Af?MdlBfSS-xyUylI=m#@1-H^-|4?+0%Zk^HHDBVZ7v2vU!lZgJnx?JWb4ZeRV=*& zrXWW@-u2yDgXycFFS5*E+}lkYpR2n2n+vRyTOJB*Or0%EMVcxD-o#iWqJ9neg>zV6 zQc8BiHKwY zOa%|2@Gs#cHz<6%M?QBe#SD=8;Q(3x)eBQvxvqu%&vyLQR0Q|a2DEkJtStBQ+5mLG zb)JiNck0B2Dul2|gS@-@FH);KZkBLuj@L7xNR$>`->+?u?!n>dn}a*z2Ph=@WdJT2mI6Mu??{$bW)WEqf*I;1a|2{1S#UaMW@_;3~5Ghfu|mX zBF+6bjJUz`NCrSRwi4)L2H9K-=8`B<{N|+hX*C3O(`6M>@@!h8%0Yj!i3D?v%ZvMq zsmd@1g$J=1E#P<`8|9z})o+8w&2jlOX&%x(h(;NX9=MhVVMU}Z_DR8(f>78zQ7I&M zg}i5D>(^En`y%_$Br=Fo{Dg1pV$0$%}`V6`D zi;y;5$Ls3a`wi?s?QXg}hd?@lbq~ZrgEzs&5h!{z%ip|7?!Nx& z(7Bz!y^t*2Uh-x4ZdRe~1SMr$^Yn^H8?0D}{etr3%wTj3U#PIt6_z;%B^b~>yuXx z!-xi#32Qq8VR-h)R1%FQ6Wj##Ez`MNy^vG<9?+dl)T zLC7qr@K`fxIfh$5y$;HK@0?fN21zAS{-#ooEZF&OiG`q{xi|5W)g7o_?=(iTDk2GI z>E8?TU`rZd;EpIxa}5@Z;=uF2TSOSOpnc`(1|!F$IeUb@xmZty(fg#bwF=7$AJm;2 zs8dyx$W$I&+*W~?M+rCwLE(l^);;0hjis;~BQ^f5_Ho)Bw=Dg{}D^Qdw&NR{(f7C8)y zno?S{Pe-7>a}OKXZQTd@%4SZ>Idmqyfh{D5z_%G})p_o1tRI1tHax3am!3K*;T#oe zu$)J`Z9#EeG;)Bm5jLH$AF#05ijavx0av%k-QT-!2}0-X?X19W^EyD|;9Nbu z8bgbP(w8MAS6zoJ1{M+{Y4gPnW|(F+HU+@E3YCEmalqcK~i7T3!(dv zPC7P`M|jK?auFth`dL(Fn2Va-1kr3zafbU7er{n=q$9Mp%xONz75O`T@6&U0dd5hp z5zdmU4#)vxi*hbLzMP?a<7{+PJ^G|Dc#B0$1IFqgQ_kf5`^QLl}M^4UrrKR1I0SH~U2+ET4rT2MYOQFIqT7b*HI)izCsw|3+ctP(o7^f(6D-E_2(Bq zewVmUdu19Ctcs4fSRjAiA|F>EHe&=|?Qg(lvIMXRC2CURkn<^#CFSc+@E1@5Q|m2G zEP<9!@@|o2!E=ceXab{Ri(9${pat?EMArh&ipV5xf)MDJKrqOF>gQYiX)G)(=V4<( z6(@8~wgA?f4+aZ?un;Q_Qe9o}#TQU-6&n{h{P%-P0}-tDxBKApA7z%o5OxH()%*-^ z?b%+?-~1#MgX3uuH6ywW+3w$p$RwZvovs#gN*Vz>)CL6!5L3t?;HQ?dqhN2NQ;(Q! zWr)(CILON(=Z#C8fi1`vMO~8t+8^M_lgfZaM!jdzsdum~w!rTFqxemQLsI8fPp9K| zg{FpV?1$|gZ|J?*J3B*M%cUU$);Q=`^L((Ywxhylft+C^Nd{AcMUsE0mefRqo-I;E z2YHQSt&sbB&asJiRZ6Xq56MISWRt`nmmj=3IV1O|0y{xrldrP{$CU@0l9@-wn_oEs z*0=N8u_%&~I;2Yj?j&u!nJ!KAGLxIg0HZ&3P zJ7gr>!4SI9P_SQ&e%AtxPty^`?sdNHf?jw#Nh)UPg+GoP!eV7o$E|Lxj%JnFjO}O_>+bk!5hBqTPb{0i?sWHDt z((yDsFzR|XD}Cv1KWLu|mO|VS3;JtTjFwW+{^O74v~eN%CyR63la9$x7xdgU>smeB z=)KPl6e}C`dTpIDkyxl~V`RPM6N(5W$U%fN4eX#v!8ef~Yi|}}wE@K{-kh;c)CbJK z)S}PXBVv*fN`CBDu0RcHz0C`BXp7BLj7XrjYkybTMy}J0@m(t409VNOy?~!@|43 ze~5P&^xoL`QSrNG3TY%>;IcURVp&Oa}7>+EZWrFU%w z4X}YxlU91v3S5GW%&do=DGLTS4Y9EE_@z z{3CtZ+BohgGC^B+i|CQ|MOk)#`*e5ajcOoOgMdHfO>Beg$nvl6_bS;)_lX~|MN#zv ze?fV|)Rvb?cmf^FRdQX+oP7-kAw_&f%M6wE&KB)B`+6Nr4Z63W> z_FQHP9fZC)tBzFxst#_el1P;y>Kq zwsGt=LXQmrkI~=Y_vdRZVEYpX=S*tnPoo#-%_O9-zF&7(=qZqW@?oKeP&!vh>4M)L&<(%qB4dmCRSVktS}kOM zCR9tMXbx`4#8KOKUfQIr8hMg^i?+z*3kP2Qfa2M%0>WJB4~flvx5RJhXm30S7{Kh> z|1LW>((hn}{N1EpY1leQT)OM9Z*|f8*tK>6odNkar{UR;GAY;m8%<` z_#n%*XU)62w2tC?Xr!}4n9NXot330dIzcddK{8~0c8$D0Lvu1-_O`}VNZrvD7l;g$ zRU27?6LAp{JxW~rp`{zA$a&;rl@!cv=nummY_bzNVM+2P|DS$lT*VFetq8C>xw&u_ z8BG(hLg-M$XaQTzk7H9IBJ4jLU<=;M#b+mfwudb3yHLKkyuj~Ouo7OJf@S@#{}g|a zdtV;0O})2n()I!|13Tj(d`fx7$HbhBrPe_9{&ygRnn3WD&iidnweRn==x@x)c_uYJ zr*#MIO!fGSG&||~P#Dcw0r?tnB(5`PtMIR@w>kYny`TY0Ph3rZE_(e7{jA*EWlfL8 zoQhb%3H;sHA$~q%FWAocZ#YE`Qjh)K`>y(}YN6YVJ8U;Kr_(m&wBA%bg~4{XMS(o? zf=2k{f9vOrTIKQXzkOeRgjlAR6*S6qklB7kZsuq-d|BxYg^IU(qTsI zNbnk$sciQQ!&TFwvRBd?7zKK%?)<;k;tv}5vje{|{edlV(qF1SxL=Sm>j z8P^-(mqKu$8im04GEMm!9jm;SE4p-Q$I-e5XvV*tjh+CCPs z_hb?-q3%}GnI+qckNh`G_$2Aa-}Nr5ZjQ-)-wdmxoF!(jug76XnMK3tEI@dcqaQRZ zE(UsUUH~#CB5|_yp}2`W>!mw4&t@b$HpsRJN=$ty-;RjZxOJjFNpBrJ^iD)@-Bf27@t%*`D8-dVjvZ=a2sA zx@yjIp4WM;_kAB;M!?`M5Iumi55+_;x^meszcDUz*|8%un@*C~!=)}s0GZ)A!gUx} zGJb{QQ!42gr(qbsLtwDg#JcwHo8w^^hvh&y4{zlnl#>Es5hv`)*sOry4Y*BXb1VH~ zbsyavP)x$dj!GN`-SJ;QHsjy2EN;T2JHA-QY!`5^;++-82bvXJ3ZRYMeC~G63I4o2 z&ls-d%A#j?!E1LTZZ{D&qUz>}rKaX1p z*%wm~4H4aV%}m_>*sb8`guL{wIG-y!a@ZP^yVfR&T!Pr-Es(~DA)O^sq-#{ek4e^i zd{DpsvIsV>OA-FLfoUgsWwh|gw)%Nq(-3nzm6DZZ(Uh5I3&&M zH2=E^p!^QsXFIROCZa9@)8zNr8BU`x%MU2~M(PY*XT2?TxL6K#yrJ>fD~w^xCMRnA z-vwlh;d|slM|Zh~ zjeyd&w@UQIsEYQ%xulL4`yJnT&K)iCn?735&ZYQrFBFa*D4e(k;xB(2uAaj9_Kxjtn~Liqb8qGo+!m9B zuqQ~0jMZE+i`T^Z-&VWp0jm^4`^)IvdV02ID`Y(bIS*exZC_Q_=`lxgv6)Ih5@XS( zdf?F|u)FcxYkdQQA{6!y4q7W~?)%}>?vR=MUq@!mMF7v%iFi|`w)eX>QNE>fFLaS# z^R5Unws`}5|2_K=cu-jO_Ljnde<${!%YYS(rS*%&EP=&6e z5Z2BvZiBv0_HLANRCw7?xWPCL)wGe-XnqYW$QPT6D;l3GTtJGpI+jefWksla+BlHd z>%ImmupE_QO-XiAh_M?5rjw~U3X1|Y6>pY z?mi4d^H*N#fqSQ*NYY1z*twPqjb7*_>Y1*In?;MO zL#>ksuA2c71n}<~E3EumsW)7?oPaJJz9}y($8>7?%hR?B$nMeF5i@+`_pvvG`rd6{ z0lLjaGbT1BE3<-WVxAbBl7Ug4`%)&B1pbN@{DB$S+$R3vYpqvl;IHckC>O&k zw@>W2B|no(z)v!jUGq%U=Sx0UJQo^^JDalfbBgkbzQ4180^Bbqc&k&J}qu z3^{lHN}OB}!i&X8Y(>e!#Vo62LGVarXdG$~R`K^QIhy6yCLb=Iue{Rz;Rh=6A@<3J zPtICt>!sIu#eR>0bcU!nwxO<51UDT9M5Y0ihW)#UtbtZDdlHH9?$F>QxdEhRfTGi= z)HOI(-ld+-3g7R&Q=qAUB@C-Osp zWOiY9TfShI5=2Nz@HA*s2$B7BF znUi4#)G_kA@PKZvoCaFyZGm;rXe;cdG@!0g{~Qy*HkTL9j!to2rIV$nu1Jw`S)N4N zQbc%=!!z6^boY6uZl(cI4P)OGMV@5a(CXjhQYe+igtJb#6rq}u>q*yQhgV4>rau;( ztd_>$bWBy3sdM2MY zmhuJEvw{e|^2@ojiogdvS1xaqu`JyWmgeI~xjY_$^<@_jw*T7)bo+51cXA2G9M!(6 zAn#kEZ^*Iw|J!&@k-V9Az%uc2|LJn;U2df1K+7LLah2O2>;E>2`{&wVO{lAxa!iSw zV$>^9mE~DR_GC=$by9qcoD~CW#MnDB7|8iVD3_z<{ksE_G#=f*m*1IjgQ(QVzYV&Yo#1olQkLzQ{SMTP$IIzl!!~U* zk{0ZI2@Ff&8(uf>oxDo1Y2(VNp;NPcyCHWouaNSs$|r`$@K#;-aFrv9YnD zCpR*RO30lNFTl>Hs`wM)_y^qUc~Vf{h5x|iUAxTt@J?mBIM|p`LoA}a6g&=tvl_|= zx-FF$-#%V0^|sS>-{Lf5+*wJ$cvm}f6urf);M{6wi|D$$Nv@QHOf1n36UI&YgS75d z?1%#GhxeoIMgw(j@CRP-kOE=x!<}?8fl0GTBw>7T_thRXvA7~Xnj*7MvtPACPi#L^ zfL+C&cF6jf#^bf7_3dCzywC7>W-D}~r9Km}RN8m#adazs^yUZchjZwE6RS6}z`i3Y z-%bweAXT$Z2z%D|RiWk9(?tDYGh(6q*s@0x>i7%&DaanlWA1gc5H`P<#H-1y<11ZU zcBo=|7V=(k333Z8{;)uNE^(Nt(lAD5F*TB85W5O?C^=}>Y#Pg&cMzqxn? zR}jA+e0X&sFATy?36R?l-J01Rs$op1OqrEm)MP=|hW}Q&(}dfE>GO1fXnD)?`oA1X zeJ|L?W5QU6Lqg2-;5g)7<5mZpLaTv2ulk!2W+NCyB<;<@WPX92t~|)^l>{H2tDt@y zJbxJ7atn_V5Zbc50hWhTG>J|7jx%*LZaSyAfyUt6l2JZQom~kr$r;pt(~BDZzs`i~ zlAoxA(}J~1R~KP=R{t*CyXVd3r}_i^Rn2~RWJQgYSV?L@k`P$sY_mysBwiT`{QSna zf65k}v%bLFG^seo$e3ft){P}CHr^b7!GWJ9WA?1AdAU;QDN`dG<0XK1<*5;NaQm^l zdmFyt6Ac4C@biT?ze3)xrbv&-psSonp_8!EJ$0*?Adby^rtbXPOEmO)%$SDDod=;eCCwWB>+vA&lc{NCijPu}lOqaaW`?wu7h?yDQ!;P}LZ$F{hb$mhp zmwneSt9i}|W$Y_jv_qwfRH0N$~-H$Fj0<7T`pvW{9rK; z|2(ZwJP>sZ#}u>EkQDKW#9ZD3#kyFSY^8ts$GVVukSZ3ZoAVt7NU zeA}{T23vI`kh@KGk(0f4z?&Leh-!&BqWtR0pT~T@i8^hqBW+_$cvqdT>^4H!w_Lej z~`AX9AiP_yC$ zW|UERAz~qn388u!-`_aR;1;;ai4jeu6oV4K#87RhK{|1J&+7Cg*Xs`Z$rS}I7rxG! zx*O2V9c=3n1M81Lw957wMGS<4IxScn6;O(xSyz#rXq2#&0Rn?&*QyL4r2v9}Rq>nn zP0)z5`X>$vC%iZU?%e|QA!pGwG9cEoC&!$#_OimiK@&DY4}54ggwg5R6VPYX)7eR8w?kq{5^)BFR=eUCX?E}|_4M@Q9s#gjuZBu@ zx%iOBwgB1s*u2YNf*X^GH>ADV?+qox&gZvOPHui+isu`XGPsr9rjQ|ux2UwZLr913 zc1$33z_++CKdoQ>i%DYFdiY|G@mJ;)R0oNQ!BwN{8Zb`;2Say>OiIdO4<_?!{2sHN zxRZ8whHt8J>`STBT$0Re(jL!wznQ)X`pY=0+YzqeAW}p}1i%`x_xDX>KMKkT;b!nW2DbC^MO>;Y5g*2{5zT8`>|8dDx-~jBv zF7WxM7O0=qCH$s?8mE!ET;YvVka7IL<3_6=f{9tbKa-(5R)}&|=j!&HGO1m{3Mfrg zZAk)?7EY{aRxO5O60z)$WBQlBQe=p4*lqrG=h;(l9Z#cX#ld|Z|Hv410&|rZ?{+Sn z)Dpa?;yp|6~D7vWySCmsR=wfxQ?dU z_juQR9QTjg05vS`Hk-L)-j$uuen<#kb{{g^@%J$rD~CMgP?70YK|k5VPD)*6H71T7 zdK$rvFxVsd#$E!c3(Py~zJJ)1Du+^PKw7)mG!iBXg{_MfB(d5&cmz=hJ0@21teyN* zF!kWf$E#7&NDoNeGt4(20QFDLWjXSD2RGe7!K1i~=S4X%F;1aKuVK6^OtzJu&LtAJ z`2I{=Nb;?wCJ44H%GODnYn_Ch*?1v*g5YuW*+Ml`dm(eAAf#v15Gn`IpqRkRWr-g3 zt8><6pi%X1-~@hO3M3Mbk8K5&O-DdXqnJh&^7G8D7bDEETQu@KLNp8|eGVtLfu%p| zN!hyN)EmpidpreOEX!4kUV5(>e-CBaKAuKB`XD&i<3Y4ts8mFz2<~&3rS2_+kGKvB z?r0L2uPipjAG!?mLRdcA7obETBr_Mk%}Yx&IV3bFVFF(@)m0V*bh^b!g6M7a6DLG( z$7~yi;lc=aRtQ^F`VMC;@cwza`PDYs*4y7;ksrHBxZ_W zqX7SGYBg)Z77aJ;kzjc~e4eP{p=R7kPVL|C7g&jkwB!25+^VX6Ui>p8`a)fr)xP*) zUhdu_*raDJqTS(fV;YjjF7`kvEU}7hzw2<IJDTNyWqpII9y)&l$<;t zx>!gE$WrWwxvo*W z?&_ny5ju0uNzTskIC%0o{0XkE=EaQp@)qhXpuE%b*YDN0?MJ;cclq&$v=v>m8+8t16e;RFdH$## zK75dw**h0)6~2H{>1DxMF}$j8I{m1-Em41vQC+=zfTY|pmtRL6;%&)5;OL zMx#|6I`P_^@$G5*?L191e(^gBY;gSHi6n2F9X}r|T~sumErne4x&I_1}GN zeCQPMcb_W{hSKwglDnumjOG2W736?wH{^{+2kriLj!kYr-4=`Cvz+Ut2REUwKsyR^ z1JYc21B*xAdh3xmaFE7tm#7)>!8xs_Aco@jjb4=}RUcMByw{bud~KUR>g#~p9rT1QlLon?q<}>JKDVgA9(U*4 zSRwp2s%rzkD+2K{`o4D0v(lV0@qL ziWnBfVy6FZ-KEpTy)UGvPr_OR`-BCB$|*o8WnkAK? ?(OW2766>m11j&P`#CZPA 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 diff --git a/core/assets/version.properties b/core/assets/version.properties index ce3e39f173..b8a8c88480 100644 --- a/core/assets/version.properties +++ b/core/assets/version.properties @@ -1,7 +1,7 @@ #Autogenerated file. Do not modify. -#Sun Feb 25 22:24:39 EST 2018 +#Sun Feb 25 23:41:37 EST 2018 version=release -androidBuildCode=282 +androidBuildCode=288 name=Mindustry code=3.3 build=custom build diff --git a/core/src/io/anuke/mindustry/core/NetClient.java b/core/src/io/anuke/mindustry/core/NetClient.java index 5e53b9cd44..9e2d7344ef 100644 --- a/core/src/io/anuke/mindustry/core/NetClient.java +++ b/core/src/io/anuke/mindustry/core/NetClient.java @@ -51,6 +51,7 @@ public class NetClient extends Module { public NetClient(){ Net.handleClient(Connect.class, packet -> { + player.isAdmin = false; Net.setClientLoaded(false); recieved.clear(); @@ -331,6 +332,12 @@ public class NetClient extends Module { ui.showError(packet.message); disconnectQuietly(); }); + + Net.handleClient(PlayerAdminPacket.class, packet -> { + Player player = playerGroup.getByID(packet.id); + player.isAdmin = packet.admin; + ui.listfrag.rebuild(); + }); } @Override diff --git a/core/src/io/anuke/mindustry/core/NetServer.java b/core/src/io/anuke/mindustry/core/NetServer.java index 275985e110..6fbd0f9df8 100644 --- a/core/src/io/anuke/mindustry/core/NetServer.java +++ b/core/src/io/anuke/mindustry/core/NetServer.java @@ -80,6 +80,7 @@ public class NetServer extends Module{ Log.info("Sending data to player '{0}' / {1}", packet.name, id); Player player = new Player(); + player.isAdmin = admins.isAdmin(Net.getConnection(id).address); player.clientid = id; player.name = packet.name; player.isAndroid = packet.android; @@ -109,7 +110,7 @@ public class NetServer extends Module{ Player player = connections.get(id); ByteArrayOutputStream stream = new ByteArrayOutputStream(); - NetworkIO.writeWorld(player.id, weapons.get(player.name, new ByteArray()), stream); + NetworkIO.writeWorld(player, weapons.get(player.name, new ByteArray()), stream); WorldData data = new WorldData(); data.stream = new ByteArrayInputStream(stream.toByteArray()); Net.sendStream(id, data); @@ -239,6 +240,32 @@ public class NetServer extends Module{ packet.id = connections.get(id).id; Net.sendExcept(id, packet, SendMode.tcp); }); + + Net.handleServer(AdministerRequestPacket.class, (id, packet) -> { + Player player = connections.get(id); + + if(!player.isAdmin){ + Log.err("ACCESS DENIED: Player {0} / {1} attempted to perform admin action without proper security access.", + player.name, Net.getConnection(player.clientid).address); + return; + } + + Player other = playerGroup.getByID(packet.id); + + if(other == null){ + Log.err("{0} attempted to perform admin action on nonexistant player.", player.name); + return; + } + + if(packet.action == AdminAction.ban){ + admins.banPlayer(Net.getConnection(other.clientid).address); + Net.kickConnection(other.clientid, KickReason.banned); + Log.info("&lc{0} has banned {1}.", player.name, other.name); + }else if(packet.action == AdminAction.kick){ + Net.kickConnection(other.clientid, KickReason.kick); + Log.info("&lc{0} has kicked {1}.", player.name, other.name); + } + }); } public void update(){ diff --git a/core/src/io/anuke/mindustry/core/Renderer.java b/core/src/io/anuke/mindustry/core/Renderer.java index b2064b0588..ba37bc6e2b 100644 --- a/core/src/io/anuke/mindustry/core/Renderer.java +++ b/core/src/io/anuke/mindustry/core/Renderer.java @@ -264,8 +264,14 @@ public class Renderer extends RendererModule{ Draw.color(); Draw.tcolor(player.getColor()); Draw.text(player.name, player.x, player.y + 8); - Draw.tcolor(); - } + + if(player.isAdmin){ + Draw.color(player.getColor()); + float s = 3f; + Draw.rect("icon-admin-small", player.x + layout.width/2f + 2 + 1, player.y + 7f, s, s); + } + Draw.reset(); + } } Pools.free(layout); Draw.tscl(fontscale); diff --git a/core/src/io/anuke/mindustry/entities/Player.java b/core/src/io/anuke/mindustry/entities/Player.java index eef5a5094b..6400e6e2a2 100644 --- a/core/src/io/anuke/mindustry/entities/Player.java +++ b/core/src/io/anuke/mindustry/entities/Player.java @@ -34,6 +34,7 @@ public class Player extends SyncEntity{ public String name = "name"; public boolean isAndroid; + public boolean isAdmin; public Color color = new Color(); public Weapon weaponLeft = Weapon.blaster; @@ -44,7 +45,7 @@ public class Player extends SyncEntity{ public float stucktime = 0f; public boolean dashing = false; - public int clientid; + public int clientid = -1; public boolean isLocal = false; public Timer timer = new Timer(4); @@ -240,6 +241,7 @@ public class Player extends SyncEntity{ buffer.put(weaponLeft.id); buffer.put(weaponRight.id); buffer.put(isAndroid ? 1 : (byte)0); + buffer.put(isAdmin ? 1 : (byte)0); buffer.putInt(Color.rgba8888(color)); buffer.putFloat(x); buffer.putFloat(y); @@ -254,6 +256,7 @@ public class Player extends SyncEntity{ weaponLeft = (Weapon) Upgrade.getByID(buffer.get()); weaponRight = (Weapon) Upgrade.getByID(buffer.get()); isAndroid = buffer.get() == 1; + isAdmin = buffer.get() == 1; color.set(buffer.getInt()); x = buffer.getFloat(); y = buffer.getFloat(); diff --git a/core/src/io/anuke/mindustry/net/NetEvents.java b/core/src/io/anuke/mindustry/net/NetEvents.java index 332edae663..9bfe734f56 100644 --- a/core/src/io/anuke/mindustry/net/NetEvents.java +++ b/core/src/io/anuke/mindustry/net/NetEvents.java @@ -2,6 +2,7 @@ package io.anuke.mindustry.net; import io.anuke.mindustry.Vars; import io.anuke.mindustry.entities.BulletType; +import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.entities.enemies.Enemy; import io.anuke.mindustry.net.Net.SendMode; @@ -149,4 +150,19 @@ public class NetEvents { packet.itemid = (byte)item.id; Net.send(packet, SendMode.udp); } + + public static void handleAdminSet(Player player, boolean admin){ + PlayerAdminPacket packet = new PlayerAdminPacket(); + packet.admin = admin; + packet.id = player.id; + player.isAdmin = admin; + Net.send(packet, SendMode.tcp); + } + + public static void handleAdministerRequest(Player target, AdminAction action){ + AdministerRequestPacket packet = new AdministerRequestPacket(); + packet.id = target.id; + packet.action = action; + Net.send(packet, SendMode.tcp); + } } diff --git a/core/src/io/anuke/mindustry/net/NetworkIO.java b/core/src/io/anuke/mindustry/net/NetworkIO.java index 298aa78522..abfd204c0e 100644 --- a/core/src/io/anuke/mindustry/net/NetworkIO.java +++ b/core/src/io/anuke/mindustry/net/NetworkIO.java @@ -4,6 +4,7 @@ import com.badlogic.gdx.graphics.Pixmap; import com.badlogic.gdx.graphics.Pixmap.Format; import com.badlogic.gdx.utils.ByteArray; import com.badlogic.gdx.utils.TimeUtils; +import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.game.GameMode; import io.anuke.mindustry.resource.Upgrade; import io.anuke.mindustry.resource.Weapon; @@ -100,7 +101,7 @@ public class NetworkIO { } } - public static void writeWorld(int playerID, ByteArray upgrades, OutputStream os){ + public static void writeWorld(Player player, ByteArray upgrades, OutputStream os){ try(DataOutputStream stream = new DataOutputStream(os)){ @@ -116,7 +117,8 @@ public class NetworkIO { stream.writeInt(state.enemies); //enemy amount stream.writeBoolean(state.friendlyFire); //friendly fire state - stream.writeInt(playerID); //player remap ID + stream.writeInt(player.id); //player remap ID + stream.writeBoolean(player.isAdmin); //--INVENTORY-- @@ -246,6 +248,7 @@ public class NetworkIO { state.friendlyFire = friendlyfire; int pid = stream.readInt(); + boolean admin = stream.readBoolean(); //inventory for(int i = 0; i < state.inventory.getItems().length; i ++){ @@ -268,6 +271,7 @@ public class NetworkIO { Entities.clear(); player.id = pid; + player.isAdmin = admin; player.add(); //map diff --git a/core/src/io/anuke/mindustry/net/Packets.java b/core/src/io/anuke/mindustry/net/Packets.java index fe676d4496..d6b4ff2cd2 100644 --- a/core/src/io/anuke/mindustry/net/Packets.java +++ b/core/src/io/anuke/mindustry/net/Packets.java @@ -576,4 +576,42 @@ public class Packets { message = new String(bytes); } } + + public static class PlayerAdminPacket implements Packet{ + public boolean admin; + public int id; + + @Override + public void write(ByteBuffer buffer) { + buffer.put(admin ? (byte)1 : 0); + buffer.putInt(id); + } + + @Override + public void read(ByteBuffer buffer) { + admin = buffer.get() == 1; + id = buffer.getInt(); + } + } + + public static class AdministerRequestPacket implements Packet{ + public AdminAction action; + public int id; + + @Override + public void write(ByteBuffer buffer) { + buffer.put((byte)action.ordinal()); + buffer.putInt(id); + } + + @Override + public void read(ByteBuffer buffer) { + action = AdminAction.values()[buffer.get()]; + id = buffer.getInt(); + } + } + + public enum AdminAction{ + kick, ban + } } diff --git a/core/src/io/anuke/mindustry/net/Registrator.java b/core/src/io/anuke/mindustry/net/Registrator.java index 05532c12e1..5c4b071242 100644 --- a/core/src/io/anuke/mindustry/net/Registrator.java +++ b/core/src/io/anuke/mindustry/net/Registrator.java @@ -42,6 +42,8 @@ public class Registrator { ItemSetPacket.class, ItemOffloadPacket.class, NetErrorPacket.class, + PlayerAdminPacket.class, + AdministerRequestPacket.class, }; private static ObjectIntMap> ids = new ObjectIntMap<>(); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/AdminsDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/AdminsDialog.java index ebc1759904..08d397c006 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/AdminsDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/AdminsDialog.java @@ -1,10 +1,13 @@ package io.anuke.mindustry.ui.dialogs; +import io.anuke.mindustry.entities.Player; +import io.anuke.mindustry.net.Net; +import io.anuke.mindustry.net.NetConnection; +import io.anuke.mindustry.net.NetEvents; import io.anuke.ucore.scene.ui.ScrollPane; import io.anuke.ucore.scene.ui.layout.Table; -import static io.anuke.mindustry.Vars.netServer; -import static io.anuke.mindustry.Vars.ui; +import static io.anuke.mindustry.Vars.*; public class AdminsDialog extends FloatingDialog { @@ -40,6 +43,13 @@ public class AdminsDialog extends FloatingDialog { res.addImageButton("icon-cancel", 14*3, () -> { ui.showConfirm("$text.confirm", "$text.confirmunadmin", () -> { netServer.admins.unAdminPlayer(ip); + for(Player player : playerGroup.all()){ + NetConnection c = Net.getConnection(player.clientid); + if(c != null){ + NetEvents.handleAdminSet(player, false); + break; + } + } setup(); }); }).size(h).pad(-14f); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java index 0c7878e8bf..52b8cf3a71 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java @@ -50,6 +50,7 @@ public class HostDialog extends FloatingDialog{ Timers.runTask(5f, () -> { try{ Net.host(Vars.port); + player.isAdmin = true; }catch (IOException e){ ui.showError(Bundles.format("text.server.error", Strings.parseException(e, false))); } @@ -58,19 +59,4 @@ public class HostDialog extends FloatingDialog{ }); }).width(w).height(70f); } - - /* - showTextInput("$text.hostserver", "$text.server.port", Vars.port + "", new DigitsOnlyFilter(), text -> { - int result = Strings.parseInt(text); - if(result == Integer.MIN_VALUE || result >= 65535){ - ui.showError("$text.server.invalidport"); - }else{ - try{ - Net.host(result); - }catch (IOException e){ - ui.showError(Bundles.format("text.server.error", Strings.parseException(e, false))); - } - } - }); - */ } diff --git a/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java b/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java index 76a63a06bc..bb9a692a25 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java @@ -1,10 +1,12 @@ package io.anuke.mindustry.ui.fragments; +import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.net.NetConnection; import io.anuke.mindustry.net.NetEvents; +import io.anuke.mindustry.net.Packets.AdminAction; import io.anuke.mindustry.net.Packets.KickReason; import io.anuke.mindustry.ui.BorderImage; import io.anuke.ucore.core.Inputs; @@ -86,7 +88,7 @@ public class PlayerListFragment implements Fragment{ for(Player player : playerGroup.all()){ NetConnection connection = Net.getConnection(player.clientid); - if(connection == null && !player.isLocal) continue; + if(connection == null && Net.server() && !player.isLocal) continue; Table button = new Table("button"); button.left(); @@ -113,7 +115,9 @@ public class PlayerListFragment implements Fragment{ button.labelWrap("[#" + player.getColor().toString().toUpperCase() + "]" + player.name).width(170f).pad(10); button.add().grow(); - if(Net.server() && !player.isLocal){ + button.addImage("icon-admin").size(14*2).visible(() -> player.isAdmin && !(!player.isLocal && Net.server())).padRight(5); + + if((Net.server() || Vars.player.isAdmin) && !player.isLocal && !player.isAdmin){ button.add().growY(); float bs = (h + 14)/2f; @@ -123,30 +127,45 @@ public class PlayerListFragment implements Fragment{ t.addImageButton("icon-ban", 14*2, () -> { ui.showConfirm("$text.confirm", "$text.confirmban", () -> { - netServer.admins.banPlayer(connection.address); - Net.kickConnection(player.clientid, KickReason.banned); + if(Net.server()) { + netServer.admins.banPlayer(connection.address); + Net.kickConnection(player.clientid, KickReason.banned); + }else{ + NetEvents.handleAdministerRequest(player, AdminAction.ban); + } }); }).padBottom(-5.1f); - t.addImageButton("icon-cancel", 14*2, () -> Net.kickConnection(player.clientid, KickReason.kick)).padBottom(-5.1f); + t.addImageButton("icon-cancel", 14*2, () -> { + if(Net.server()) { + Net.kickConnection(player.clientid, KickReason.kick); + }else{ + NetEvents.handleAdministerRequest(player, AdminAction.kick); + } + }).padBottom(-5.1f); t.row(); t.addImageButton("icon-admin", "toggle", 14*2, () -> { + if(Net.client()) return; + if(netServer.admins.isAdmin(connection.address)){ ui.showConfirm("$text.confirm", "$text.confirmunadmin", () -> { netServer.admins.unAdminPlayer(connection.address); - //TODO send aproppriate packets. + NetEvents.handleAdminSet(player, false); }); }else{ ui.showConfirm("$text.confirm", "$text.confirmadmin", () -> { netServer.admins.adminPlayer(connection.address); - //TODO send aproppriate packets. + NetEvents.handleAdminSet(player, true); }); } - }).update(b -> b.setChecked(netServer.admins.isAdmin(connection.address))); + }).update(b -> b.setChecked(connection != null && netServer.admins.isAdmin(connection.address))) + .disabled(Net.client()); + + //TODO unused? + t.addImageButton("icon-cancel", 14*2, () -> {}); - t.addImageButton("icon-cancel", 14*2, () -> Net.kickConnection(player.clientid, KickReason.kick)); }).padRight(12).padTop(-5).padLeft(0).padBottom(-10).size(bs + 10f, bs); diff --git a/server/src/io/anuke/mindustry/server/ServerControl.java b/server/src/io/anuke/mindustry/server/ServerControl.java index 9003cccc85..150a1d0487 100644 --- a/server/src/io/anuke/mindustry/server/ServerControl.java +++ b/server/src/io/anuke/mindustry/server/ServerControl.java @@ -355,6 +355,7 @@ public class ServerControl extends Module { if(target != null){ String ip = Net.getConnection(player.clientid).address; netServer.admins.adminPlayer(ip); + NetEvents.handleAdminSet(target, true); info("Admin-ed player by IP: {0} / {1}", ip, arg[0]); }else{ info("Nobody with that name could be found."); @@ -379,6 +380,7 @@ public class ServerControl extends Module { if(target != null){ String ip = Net.getConnection(player.clientid).address; netServer.admins.unAdminPlayer(ip); + NetEvents.handleAdminSet(target, false); info("Un-admin-ed player by IP: {0} / {1}", ip, arg[0]); }else{ info("Nobody with that name could be found.");