The Legend of Herobrine (Outdated)

The Legend of Herobrine (Outdated)

997k Downloads

Not working on servers

12Echo opened this issue ยท 23 comments

commented

I can't rclick the alter with the purple diamond, but me & my buddies just took a while getting altar & diamond because of the blaze powder & gold we needed.

It works fine on singleplayer, but won't work on server. :(

commented

That's an issue I'll have to fix really soon. I've not been able to easily test well on multiplayer servers so thanks for reporting this issue. What Minecraft and Forge version are you using? I've done some multiplayer testing on the 1.12.2 version and the 1.14.4/1.15.2 versions, but I've not got to the point where enough is finalized in the 1.16.4 version to test on Multiplayer.

commented

For now, I would recommend either setting AltarRequiresShrine to false in the config and see if that works or if that doesn't work setting HerobrineAlwaysSpawns to true should work. That is just a temporary solution until I get this issue fixed.

commented

@Alex-MacLean
image
This kind of logs spam also appears while trying to play this mode on server during the normal gameplay,
also I'm not able to spawn any infected creature including Herobrine using Eggs.

Forge 1.14.4_28.2
Server and Client 1.14.4 accordingly
Locally (on the local client game) it works totally fine.

Thanks for improving and working on it.
Cant wait for the Multiplayer fix

commented

That's an issue I'll have to fix really soon. I've not been able to easily test well on multiplayer servers so thanks for reporting this issue. What Minecraft and Forge version are you using? I've done some multiplayer testing on the 1.12.2 version and the 1.14.4/1.15.2 versions, but I've not got to the point where enough is finalized in the 1.16.4 version to test on Multiplayer.

I'm on 1.16.4 and I got it working (shrine getting herobrine to spawn), but whenever one of the infected mobs attack anybody in my server, it instantly crashes the entire server.

commented

@Alex-MacLean
image
This kind of logs spam also appears while trying to play this mode on server during the normal gameplay,
also I'm not able to spawn any infected creature including Herobrine using Eggs.

Forge 1.14.4_28.2
Server and Client 1.14.4 accordingly
Locally (on the local client game) it works totally fine.

Thanks for improving and working on it.
Cant wait for the Multiplayer fix

That log spam is only present in older versions of this mod from before I reworked spawning and world data synchronization alongside many bugfixes and performance improvements. Specifically 0.5.0 and older. I would recommend updating the mod to 0.5.3 to see if that fixes your issue.

commented

@Alex-MacLean thanks, will I be able to run 0.5.3 along with 1.14.4?

commented

@NikitaChelombitko There is a version of 0.5.3 made for 1.14.4

commented

@12Echo What version are you using to play 1.16.4? There are currently 3 development builds that have been released so far. 20201207, 20201209, and 20201209b2. That issue is present in 20201207 and 20201209, but has been fixed in 20201209b2. The file kept for download on Curseforge and GitHub should be the latest version (20201209b2) so downloading that version should resolve the issue.

commented

@Alex-MacLean , thanks. Same for 0.5.3 but no logs are spamming.

Just for the help of yours, I've found the logical point that does not allow unit to be spawned:
Here is it:

com.herobrine.mod.entities.AbstractInfectedEntity#baseTick, row 64

image

commented

@NikitaChelombitko
The if statement located in baseTick is supposed to prevent the "this.remove();" line from running if either the "Spawn" boolean saved in the world data or "HerobrineAlwaysSpawns" config setting is set to true. the "!world.isRemote" was added to prevent it from running client-side and not server-side to fix an issue on multiplayer where Herobrine and infected mobs can become invisible.

What I theorize to be happening is the server isn't reading the world save data properly when ran through a dedicated server, but is reading it properly on local worlds. A possible solution would be to load the "Spawn" boolean when the server starts because right now it is loaded into memory when a player joins the world, changes dimension, or activates/deactivates the altar.

commented

@Alex-MacLean , interesting. Thanks for detailed explanation.
Removed that check at all and everything started to work fine,
although I'm not sure at other points of logic that can be harmfully affected by this change.

commented

@NikitaChelombitko The same thing is present in the AbstractHerobrineEntity file too. Nothing should really be affected if you just remove it. Setting HerobrineAlwaysSpawns to true in the config file should also fix this problem as a temporary solution for Servers.

commented

@Alex-MacLean , yes, thanks. Just tried to change this config value in Run-time - It allowed me to spawn anything I want.
Later!

commented

@Alex-MacLean P.S.: also I've found out that during the runtime at debug mode for some reason "world" property is inaccessible at all. It may relate to how Minecraft memory model works at "Client-Server" relation or be actually a symptom of the issue we are bumping into here.
So at this point you could possibly be right with theory above.

commented

@NikitaChelombitko Since the "world" property is inaccessible it probably is a symptom of the cause of this issue. I'm not too familiar with how Minecraft's memory model works or how the game handles Client-Server relations so I'll have to do some research into what is going on and find a workaround possibly by declaring a replacement for the "world" property that is accessible.

commented

@Alex-MacLean , yes , this way of research should probably do a trick.

commented

Hopefully, you can get that fixed. It's still not working on servers and I would absolutely love it to work.

commented

I don't know if this is the same problem that you all are having, but when I try to spawn in Herobine via spawn egg on a server, he instantly despawns. I'd assume it's the same for Infected Mobs too, but I haven't tested those.

commented

I should mention that version 0.5.3 worked fine on the servers that I had it on, but when I updated to 0.5.4, the problems started.

commented

I should mention that version 0.5.3 worked fine on the servers that I had it on, but when I updated to 0.5.4, the problems started.

what do you mean, version 0.5.3?

commented

what do you mean, version 0.5.3?

There was a version 0.5.3 of this mod before the current version 0.5.4. I still have it on my computer, but it's not available on the CurseForge download page anymore. Also I didn't mention it previously but I'm personally using the Minecraft 1.12.2 version of the mod.

commented

That's strange why 0.5.3 would work on servers and 0.5.4. Most of my changes were to do with fixing various bugs that are completely independent of save data synchronization. Possibly I overlooked something when optimizing the code? I'll attach 0.5.3 as an additional file in the 0.5.4 downloads until I can figure out what the issue is. I have tested it on singleplayer worlds which is confirmed to work but there always have been issues with servers. I'm hoping to fix this issue with a rewrite to the save data system. There is a known issue that I discovered in 1.16.5 with changing dimensions and Herobrine not spawning.

commented

Fixed in 0.6.0