Security Craft

Security Craft

54M Downloads

Retinal scanner bug

LuisaoStuff opened this issue · 4 comments

commented

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!

commented

Yes, it is caused by offline mode. However we don't support users who allow cracked players to join their server.

commented

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.

commented

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.

commented

Actually, I have a premium account, and my account does exist. But since there is a couple of my friends that can't afford the premium, I decided to put the server in Offline mode. I agree with HeberonYT. I think is because of the authentication system you're using now.