NoCheatPlus / Issues

Issues managment for the NoCheatPlus project.
13 stars 9 forks source link

Minecraft 1.13 (release) progress. #556

Open asofold opened 6 years ago

asofold commented 6 years ago

Adapting to the Minecraft 1.13 release.

This is a summary issue, indicating overall progress. Please open new issues for any problems with 1.13, that have not yet been mentioned here, unless it's just one block that was overlooked or the like.

MC 1.13 Issues (certain):

MC 1.13 Silly hat issues (probable):

Issues important to fix:

Nice to have follow ups:

0-x-2-2 commented 6 years ago

You can't walk on new 1.13 ice blocks either

sgdc3 commented 6 years ago

Atm i only noticed that passable and creativefly are broken.

asofold commented 6 years ago

Currently i'm updating Material use to MC 1.13 - won't be too long to tackle block shapes.

It's lengthy to do... but some of the block setup is now done by scanning the names, e.g. collect 'all wooden doors' and initialize in a generic way. Thus this also will simplify future setup.

asofold commented 6 years ago

First step done (rough Material initialization, compiles, starts).

Not sure about performance here, yet the isinstance stuff would have to be done on nms code side anyway, and if caching stays somewhat intact, it might not hurt as much:

The new voxel shapes (more complex...) could be emulated a little later too, where necessary. ModelBlock instances could carry methods for comparing/testing shapes directly - these could be stored within IBlockCacheNode (optional for compatibility), thus we have a sneaky multi-cuboid shape definition thing ('the shape' remains the minimal-ish cuboid that contains all sub-shapes, the sub-shapes could be evaluated within isPassableWorkaround +- TBD).

mibby commented 6 years ago

@asofold I'm sure you are already aware of these verbose outputs since 1.13 support isn't final yet, but I just thought I'd let you know just in case. :)

NoCheatPlus commit https://github.com/NoCheatPlus/NoCheatPlus/commit/b89c3af589333526524640c14af0b39d23f6c81a Paper dev 1550 (Spigot 1.12.2)

--snip--

--snip--

Full start-up log. --snip--

asofold commented 6 years ago

@mibby Yes :) - well i have not tested anything below 1.13 so far, and i expect issues.

Currently i focus on 1.13 - the "* FLAGS" entries indicate that no flags have been set for those blocks, but i intend to set flags explicitly. So this is a debug-like message, will still fine-tune it or remove.

mibby commented 6 years ago

@asofold Few more issues with 1.13 NoCheatPlus build on Spigot 1.12. Shouldn't the McAccess version set default to block break data for 1.12 for compatibility?

Paper dev 1552 (Spigot 1.12.2) NoCheatPlus dev 1151

[09:01:55] [Server thread/INFO]: ---- Version information ----
[09:01:55] [Server thread/INFO]: #### Server ####
[09:01:55] [Server thread/INFO]: git-Paper-1552 ~MC: 1.12.2~
[09:01:55] [Server thread/INFO]:   detected: 1.12.2
[09:01:55] [Server thread/INFO]: #### NoCheatPlus ####
[09:01:55] [Server thread/INFO]: Plugin: 3.16.1-SNAPSHOT-sMD5NET-b1151
[09:01:55] [Server thread/INFO]: MCAccess: 1.12-1.12.2 / Spigot-CB-1.12_R1
[09:01:55] [Server thread/INFO]: Features:
[09:01:55] [Server thread/INFO]:   blocks: 
[09:01:55] [Server thread/INFO]:   checks: FastConsume | Gutenberg | HotFixFallingBlockPortalEnter | AttackFrequency | FlyingFrequency | KeepAliveFrequency
[09:01:55] [Server thread/INFO]:   defaults: pvpKnockBackVelocity
[09:01:55] [Server thread/INFO]:   packet-listeners: UseEntityAdapter | MovingFlying | OutgoingPosition | KeepAliveAdapter | SoundDistance
[09:01:55] [Server thread/INFO]: Hooks: AllViolations~NCP~ 1.0 | Citizens2~cncp~ 2.0 | mcMMO~cncp~ 2.3
[09:01:55] [Server thread/INFO]: #### Related Plugins ####
[09:01:55] [Server thread/INFO]: CompatNoCheatPlus v6.6.6-SNAPSHOT-sMD5NET-b91 | ProtocolLib v4.4.0-SNAPSHOT-b415 | ProtocolSupport v4.29-dev

NullPointerException at start-up.

[08:45:40] [Server thread/WARN]: [NoCheatPlus] Attempt to set block breaking properties for a non-block: SUGAR_CANE
[08:45:40] [Server thread/ERROR]: [NoCheatPlus] java.lang.NullPointerException
    fr.neatmonster.nocheatplus.utilities.map.BlockProperties.setBlock(BlockProperties.java:952)
    fr.neatmonster.nocheatplus.utilities.map.BlockProperties.initBlocks(BlockProperties.java:1224)
    fr.neatmonster.nocheatplus.utilities.map.BlockProperties.init(BlockProperties.java:866)
    fr.neatmonster.nocheatplus.NoCheatPlus.initBlockProperties(NoCheatPlus.java:1253)
    fr.neatmonster.nocheatplus.NoCheatPlus.onEnable(NoCheatPlus.java:960)
    org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264)
    org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:316)
    org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405)
    org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugin(CraftServer.java:395)
    org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugins(CraftServer.java:344)
    net.minecraft.server.v1_12_R1.MinecraftServer.t(MinecraftServer.java:442)
    net.minecraft.server.v1_12_R1.MinecraftServer.l(MinecraftServer.java:403)
    net.minecraft.server.v1_12_R1.MinecraftServer.a(MinecraftServer.java:341)
    net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:289)
    net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:616)
    java.lang.Thread.run(Thread.java:748)

Bad block ID

[08:45:40] [Server thread/WARN]: [NoCheatPlus] Bad block id (compatibility.blocks.overrideflags): moving_piston

Incomplete block breaking data for just about every single block.

[08:46:04] [Server thread/WARN]: [NoCheatPlus] The block breaking data is incomplete, default to allow instant breaking:
--- Missing entries -------------------------------
-snip-
asofold commented 6 years ago

@mibby The block data is incomplete, because initialization got interrupted by that exception. -> Build 1152.

mibby commented 6 years ago

@asofold Thanks! Most issues seem fixed as of NoCheatPlus commit https://github.com/NoCheatPlus/NoCheatPlus/commit/6e2d611e9b9892b208070856dc6af427909cb7dd on 1.12.2!

Just this remains.

[02:19:14] [Server thread/WARN]: [NoCheatPlus] Bad block id (compatibility.blocks.overrideflags): moving_piston
asofold commented 6 years ago

Can't proceed.... my multimedia host is somewhat bricked after system upgrade/reinstall(s).

When's that age of 'enabling technology' supposed to be there? Are we past already (flint and steel)??

sgdc3 commented 6 years ago

? why do you use such system?

asofold commented 6 years ago

Seriously 'why'?

Let's enumerate a random selection (pro VM):

Con:

I could downgrade the host system, but it's not a long term option, so i need to proceed in a consolidated way rather. I'll switch it to bare metal, but it'll need shuffling hardware parts and consume a hard disk unit :(. So a mock up thing should be there today/tomorrow, provided the hard disk was written correctly.

ghost commented 6 years ago

Any luck fixing your setup? The missing blocks are making people get caught in them triggering fly.

MarkElf commented 6 years ago

On that note with missing blocks, players are teleported off select blocks as seen here: https://www.youtube.com/watch?v=Gc19cSJDpb8 . Also placing any signs down in 1.13.x triggers auto-sign with the info being 'block_mismatch'.

asofold commented 6 years ago

Sorry, i should've noted almost a week ago. I have a working system and can do stuff now (too large hard drive, 10x bigger GPU, 2x bigger CPU).

@SpacePuppeh Concerning the blocks mentioned by me above, or other blocks? If other... which ones?

@MarkElf Signs may need a shape as well (at least a rough one, to calculate correct locations for interaction).

ghost commented 6 years ago

Nice upgrade! :)

The blocks I've heard about are the dirt paths in villages, some new plants, coral possibly, just any new blocks that you haven't added, will be trapping players. You probably have most if not all of them.

Edit: I'll let you know if I find some specifics I can confirm. However I don't know if this is NCP, but swimming is extremely laggy post-update, and on recent builds of mc.

ghost commented 6 years ago

I can confirm, running the latest version of NoCheatPlus and Paper, swimming in the water is so laggy that it can easily kill players. This is using the default configuration, and was tested with the plugin on and off.

@asofold

Edit: I noticed you have that already on your to-do list lol. This is easily the most significant problem we have on my server. Just hope you get to it quickly, it's very hard to play the game while using NCP currently.

0-x-2-2 commented 6 years ago

The move speed in water was changed so you won't be able to move in water without disabling the check.

ghost commented 6 years ago

The move speed in water was changed so you won't be able to move in water without disabling the check.

Cool where do I disable it for now?

0-x-2-2 commented 6 years ago

You might be able to get away with changing the swim speed in MOVING_SURVIVALFLY.

ghost commented 6 years ago

I've tried that and several others, nothing fixes swimming besides disabling entire essential checks like survival fly and possibly others. I really hope a fix is in the works... really frustrating water is now just a giant barrier. :/

0-x-2-2 commented 6 years ago

that is what you will need to do for now then.

ghost commented 6 years ago

True unless the cons outweigh the pros of doing so, I'm unsure. :P

mibby commented 6 years ago

@asofold Missing block data entry with 1.13.1.

Paper dev 285 (Spigot 1.13.1) NoCheatPlus dev 1151

[18:32:14] [Server thread/WARN]: [NoCheatPlus] The block data is incomplete:
--- Missing entries -------------------------------
* FLAGS (SEA_PICKLE) BlockProps(0.0 / ToolProps(NONE/NONE) / [0, 0, 0, 0, 0, 0])

Full start-up initialization.

[19:23:05] [Server thread/INFO]: [NoCheatPlus] Enabling NoCheatPlus v3.16.1-SNAPSHOT-s${BUILD_SERIES}-b75
[19:23:05] [Server thread/WARN]: [NoCheatPlus] The Minecraft version seems to be more recent than the one Compat-CB-Reflect has been built with - this might work, but there could be incompatibilities.
[19:23:05] [Server thread/INFO]: [NoCheatPlus] McAccess set to: 1.4.5-1.12.2|? / CB-Reflect
[19:23:05] [Server thread/INFO]: [NoCheatPlus] Added block-info for Minecraft 1.5 blocks.
[19:23:05] [Server thread/INFO]: [NoCheatPlus] Added block-info for Minecraft 1.6.1 blocks.
[19:23:05] [Server thread/INFO]: [NoCheatPlus] Added block-info for Minecraft 1.7.2 blocks.
[19:23:05] [Server thread/INFO]: [NoCheatPlus] Added block-info for Minecraft 1.8 blocks.
[19:23:05] [Server thread/INFO]: [NoCheatPlus] Added block-info for Minecraft 1.9 blocks.
[19:23:05] [Server thread/INFO]: [NoCheatPlus] Added block-info for Minecraft 1.10 blocks.
[19:23:05] [Server thread/INFO]: [NoCheatPlus] Added block-info for Minecraft 1.11 blocks.
[19:23:05] [Server thread/INFO]: [NoCheatPlus] Added block-info for Minecraft 1.12 blocks.
[19:23:05] [Server thread/INFO]: [NoCheatPlus] Added block-info for Minecraft 1.13 blocks.
[19:23:05] [Server thread/INFO]: [NoCheatPlus] Applied block patches for multi client protocol support: water_lily, soil, grass_path
[19:23:05] [Server thread/INFO]: [NoCheatPlus] Update block-info: Block shape patch for multi client protocol support around 1.7.x - 1.13.x.
[19:23:05] [Server thread/WARN]: [NoCheatPlus] Bad block id (compatibility.blocks.overrideflags): piston_moving_piece
[19:23:05] [Server thread/INFO]: [NoCheatPlus] Inventory checks: FastConsume is available, disabled InstantEat.
[19:23:05] [Server thread/INFO]: [NoCheatPlus] Adding packet level hooks for ProtocolLib (MC 1.13.1)...
[19:23:05] [Server thread/INFO]: [NoCheatPlus] Confirm teleport packet available (via name): TELEPORT_ACCEPT[class=PacketPlayInTeleportAccept, id=0]
[19:23:05] [Server thread/INFO]: [NoCheatPlus] Available (and activated) packet level hooks: UseEntityAdapter | MovingFlying | OutgoingPosition | KeepAliveAdapter | SoundDistance
[19:23:05] [Server thread/INFO]: [NoCheatPlus] Force disable FastHeal on Minecraft 1.9 and later.
[19:23:05] [Server thread/INFO]: [NoCheatPlus] Version 3.16.1-SNAPSHOT-s${BUILD_SERIES}-b75 is enabled.
0-x-2-2 commented 6 years ago

This is already in the list of Issues to fix @mibby

ghost commented 6 years ago

@asofold any word on progress? Really hoping for an update.

sgdc3 commented 6 years ago

@asofold bump

RoboMWM commented 6 years ago

I know people are pinging you with useless bumps @asofold but I was curious if you could perhaps add a single config option to exempt all non-full blocks. This would mitigate the majority of false positives while we wait for a 1.13 update, especially since things like stepheight seem to do nothing (I'm guessing it's only for slabs? Or I'm just understanding that option incorrectly.) Perhaps something for swimming as well.

sgdc3 commented 6 years ago

@RoboMWM calm down xD

molor commented 6 years ago

another useless bump @asofold

seema84 commented 6 years ago

i don't think it'll be finished before 1.14, pretty sad

DmitryRendov commented 5 years ago

@asofold am I right, that you didnt touch the code for about ~ half a year? so we can mark your awesome plugin as dead and move forward?

sgdc3 commented 5 years ago

@DmitryRendov it is open source, if anyone wants to continue it

DmitryRendov commented 5 years ago

yes, I would if I were skilled enough java developer. I did lots of minor changes, tweaks and even 1.13 migration for bunch of others plugins like GraviTree, GriefPreventionFlags, BungeePortals, ChatGuard, DiscordSRV and so one, but such comlicated plugins like this one (or my favorite OpenTerrainGenerator) is high math for me. So, I've just asked for an update in troll-face-manner in order not to waste my (and yours) time trying to port this one, nothing more. Dead means dead. It happens.

And, yes, I'm also have high workload at work, family and kids and so one) @asofold please provide an update on subj if you can. Thank you and sorry for the off top for sure)

RoboMWM commented 5 years ago

As I mentioned in the spigot thread that was for some reason deleted, it's not so much "math" that's required to update this, but rather lack of documentation on the design of this multi-module plugin. The code comments are filled with a lot of personal notes but not so much on the design. I have yet to see anybody actually attempt to maintain this (at least publicly). I'll eventually get around to updating this myself at some point though, if not at least to some minimially-usable level.

Keep in mind that the only non-1.13-compatible part of this huge plugin is just the SurvivalFly check (and the subcheck noclip), the rest do appear to work just fine. (I've been thinking of ways to make a minimally-feasible, standalone "survivalfly" check, but the more I think about it, the more I have to account for all sorts of variants of lag).

MarkElf commented 5 years ago

Just swimming in 2-3+ blocks trigers setback which is handled through survivalfly. Swimming in 1 block passages ways is blocked by the passable check which is tracked by the player's feet - which think the player is entering a block. Also, do keep in mind that each 'unique' block (Anything not solid) also should be defined. Asofold seems to have started this but stoped halfway through. Apart from those issues above, it holds up just fine. Each block is definable in the configuration already though very few have odd incompatibilities and need the block specifically defied i.g soil/farmland.

TheForgottenKing commented 5 years ago

Are slabs still broken, or am I using an outdated version? I had to disable survivalfly checks to fix them @asofold

MarkElf commented 5 years ago

I offer a fork for NCP here: https://www.mc-market.org/resources/475 as it seems asofold has taken a long break from development and it's questionable if he plans to continue this project. The fork supports 1.13 and 1.14 currently. I'm not a big fan of the shameless promotion but it doesn't appear that most people are not up to date on NCP development and where it sits currently because they only look at bukkit/github for updates.

Hazmi35 commented 5 years ago

Any updates on this?

MarkElf commented 5 years ago

@Hazmi35 Nothing has changed since my last message.

TheForgottenKing commented 5 years ago

I offer a fork for NCP here: https://www.mc-market.org/resources/475

Is the fork (not the config) freely available?

RoboMWM commented 5 years ago

Is the fork (not the config) freely available?

The source is freely available thankfully, yes.