Retinal scanner bug
LuisaoStuff opened this issue · 4 comments
My case
I'm using SecurityCraft 1.8.17 for minecraft 1.12.2 on an offline mode server, and I keep watching popping out this warning:
[19:31:03] [Server thread/WARN] [com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService]: Couldn't look up profile properties for com.mojang.authlib.GameProfile@2ca071a4[id=b3565be3-f52b-3f0b-aca2-0eae3377947f,name=luisaostuff,properties={},legacy=false]
com.mojang.authlib.exceptions.AuthenticationException: The client has sent too many requests within a certain amount of time
at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.java:79) ~[YggdrasilAuthenticationService.class:?]
at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillGameProfile(YggdrasilMinecraftSessionService.java:180) [YggdrasilMinecraftSessionService.class:?]
at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillProfileProperties(YggdrasilMinecraftSessionService.java:173) [YggdrasilMinecraftSessionService.class:?]
at net.geforcemods.securitycraft.tileentity.TileEntityRetinalScanner.updateGameProfile(TileEntityRetinalScanner.java:146) [TileEntityRetinalScanner.class:?]
at net.geforcemods.securitycraft.tileentity.TileEntityRetinalScanner.updatePlayerProfile(TileEntityRetinalScanner.java:129) [TileEntityRetinalScanner.class:?]
at net.geforcemods.securitycraft.tileentity.TileEntityRetinalScanner.func_189515_b(TileEntityRetinalScanner.java:102) [TileEntityRetinalScanner.class:?]
at net.minecraft.world.chunk.storage.AnvilChunkLoader.func_75820_a(AnvilChunkLoader.java:383) [aye.class:?]
at net.minecraft.world.chunk.storage.AnvilChunkLoader.func_75816_a(AnvilChunkLoader.java:174) [aye.class:?]
at net.minecraft.world.gen.ChunkProviderServer.func_73242_b(ChunkProviderServer.java:202) [on.class:?]
at net.minecraft.world.gen.ChunkProviderServer.func_186027_a(ChunkProviderServer.java:230) [on.class:?]
at net.minecraft.world.WorldServer.func_73044_a(WorldServer.java:1007) [oo.class:?]
at net.minecraft.server.MinecraftServer.func_71267_a(MinecraftServer.java:408) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.func_71260_j(MinecraftServer.java:446) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:579) [MinecraftServer.class:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]
Possible explanation for this warning
I think it's because I'm running it in offline mode, and it hasn't any way to verify my account at the mojang's servers and show on the block my skin's face.
It just happen me once I've updated forge from 2768 to 2847 and after that I've updated the securitycraft version.
Suggestion
As a solution for those we are running our servers on offline mode, I think you could add on next version a line on the config file to enable or disable the online checking for the skin at the retinal scanner.
Thanks!
Yes, it is caused by offline mode. However we don't support users who allow cracked players to join their server.
Misdiagnosed, this error occurs because, as the log “The client has sent too many requests within a certain amount of time” says.
An easy solution to this, is to stop using the mojang authentication system, and replace it with some api that provides the skin of the game, there are too many on the web, but I recommend "https://minotar.net/".
This can even benefit offline servers, because you only need to send the User Nick to download the corresponding skin.
No, I did not misdiagnose the error. The log says that because the mod tries to gather game profile data of a player that doesn't exist. And since it failed every time, at one point the Mojang servers will reject the request.