promotional bannermobile promotional banner

OVCR Server Compat

Server-side fixes for Improved Mobs crashes on dedicated servers, and FTB Chunks claim protection for Automobility attachments.
<nav class="relative h-full" aria-label="Sur cette page">
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
    </nav>

    OVCR Server Compat

    Français plus bas.

    OVCR Server Compat is a small server-side mod that fixes four crashes and bugs seen on a dedicated NeoForge 1.21.1 server running Improved Mobs (and, optionally, Automobility with FTB Chunks). It was written for the OVCR modpack's server, but none of the fixes depend on OVCR: any server with the same mods can use it.

    It only changes the dedicated server. In singleplayer and LAN games it does nothing, and players do not need it: a client without the mod joins normally.

    What it fixes

    1. Server stops at startup: NoSuchFieldError inside Improved Mobs. To classify mobs, Improved Mobs creates one of each entity type in a dummy "client-side" world. On a dedicated server, some mods' entities touch client-only code while being built (seen with L_Ender's Cataclysm bosses: socketPosArray), and the server stops with "Failed to load datapacks". With this mod, such an entity type is skipped and logged as [OVCR compat] … non classé par Improved Mobs (the log line is in French). Side effect: those entities are not put in Improved Mobs' tags, so they don't get its AI or equipment changes.
    2. Crash "Cannot encode empty ItemStack" from arrows. Improved Mobs lets hostile mobs use a bow, but mobs that are not Monster (Magma Cube, Slime, Ghast, Phantom…) have no arrow to give, so an empty arrow is fired. It crashes the server when its chunk is saved or when it kills something. With this mod, they shoot a normal arrow.
    3. Crash NullPointerException in SwimNodeEvaluator (a Drowned swimming). Improved Mobs' swimming path check is also called outside path calculation, when its fields are empty. With this mod, the check is skipped in that case and vanilla behaviour applies. Path calculation itself is unchanged. Reported upstream as Improved Mobs #364.
    4. Automobility attachments ignore claims. The harvester, mower, backhoe and paver break or change blocks under the car, even in someone else's FTB Chunks claim. With this mod they follow the claim's "break blocks" rule (team and allies included). With no player driving (a mob, an autopilot), they do nothing in any claimed chunk. This fix is only active when Automobility and FTB Chunks are installed.

    How it works

    Four small mixins, all in the server list of the mixin config, so nothing is applied on a client. Each one is marked as required: if a future version of Improved Mobs changes the patched code, the server refuses to start with a clear mixin error instead of silently bringing the bug back. Check this mod's page before updating Improved Mobs.

    Requirements

    • Minecraft 1.21.1, NeoForge 21.1 or newer, Java 21
    • Improved Mobs 1.16.0.b (required)
    • Optional: Automobility (UNOFFICIAL NeoForge port) and FTB Chunks, for fix 4

    Installation

    Put the jar in the mods folder of the server only. Nothing to configure.

    FAQ

    • Do players need it? No. It is ignored on clients, and a client without it can join.
    • Does it change gameplay? Only where a vanilla or modded rule was being broken: claims are protected from car attachments, and broken arrows become normal arrows. Mob classification for the skipped entities is the one visible difference (see fix 1).
    • Was it tested without Automobility? The OVCR server always has Automobility and FTB Chunks. Fixes 1–3 do not use them, but a server without them has not been tested.

    License

    MIT. Sources are included in the files of this project. It does not contain any code or assets from the mods it patches.


    OVCR Server Compat (français)

    OVCR Server Compat est un petit mod côté serveur qui corrige quatre crashs et bugs vus sur un serveur dédié NeoForge 1.21.1 avec Improved Mobs (et, en option, Automobility avec FTB Chunks). Il a été écrit pour le serveur du modpack OVCR, mais aucun correctif ne dépend d'OVCR : tout serveur qui a les mêmes mods peut s'en servir.

    Il ne change que le serveur dédié. En solo et en LAN il ne fait rien, et les joueurs n'en ont pas besoin : un client sans le mod se connecte normalement.

    Ce qu'il corrige

    1. Le serveur s'arrête au démarrage : NoSuchFieldError dans Improved Mobs. Pour classer les mobs, Improved Mobs crée un exemplaire de chaque type d'entité dans un monde factice « côté client ». Sur un serveur dédié, les entités de certains mods touchent du code réservé au client pendant leur création (vu avec les boss de L_Ender's Cataclysm : socketPosArray), et le serveur s'arrête sur « Failed to load datapacks ». Avec ce mod, ce type d'entité est ignoré et noté dans le journal ([OVCR compat] … non classé par Improved Mobs). Effet de bord : ces entités n'entrent pas dans les tags d'Improved Mobs, donc pas de son IA ni de son équipement.
    2. Crash « Cannot encode empty ItemStack » à cause de flèches. Improved Mobs donne l'arc aux mobs hostiles, mais ceux qui ne sont pas des Monster (Magma Cube, Slime, Ghast, Phantom…) n'ont pas de flèche à fournir : une flèche vide part. Elle fait planter le serveur à la sauvegarde de son chunk ou quand elle tue. Avec ce mod, ils tirent une flèche normale.
    3. Crash NullPointerException dans SwimNodeEvaluator (un Noyé qui nage). Le test de nage d'Improved Mobs est aussi appelé hors calcul de chemin, quand ses champs sont vides. Avec ce mod, le test est sauté dans ce cas et le comportement vanilla s'applique. Le calcul de chemin lui-même ne change pas. Signalé en amont (Improved Mobs #364).
    4. Les accessoires d'Automobility ignorent les claims. La récolteuse, la faucheuse, la rétro-pelle et la paveuse cassent ou transforment les blocs sous la voiture, même dans le claim FTB Chunks d'un autre. Avec ce mod, elles suivent la règle « casser des blocs » du claim (équipe et alliés compris). Sans joueur au volant (un mob, un pilote automatique), elles ne font rien dans un chunk claim. Ce correctif n'est actif qu'avec Automobility et FTB Chunks.

    Fonctionnement

    Quatre petits mixins, tous dans la liste server de la config mixin : rien n'est appliqué sur un client. Chacun est obligatoire : si une future version d'Improved Mobs change le code corrigé, le serveur refuse de démarrer avec une erreur de mixin claire, au lieu de laisser revenir le bug sans rien dire. Regardez cette page avant de mettre à jour Improved Mobs.

    Prérequis

    • Minecraft 1.21.1, NeoForge 21.1 ou plus récent, Java 21
    • Improved Mobs 1.16.0.b (obligatoire)
    • En option : Automobility (portage UNOFFICIAL NeoForge) et FTB Chunks, pour le correctif 4

    Installation

    Placez le jar dans le dossier mods du serveur seulement. Rien à configurer.

    FAQ

    • Les joueurs en ont-ils besoin ? Non. Il est ignoré par les clients, et un client sans le mod peut se connecter.
    • Change-t-il le jeu ? Seulement là où une règle était contournée : les claims sont protégés des accessoires de voiture, et les flèches cassées deviennent des flèches normales. La seule différence visible est le classement des entités ignorées (voir le correctif 1).
    • Testé sans Automobility ? Le serveur OVCR a toujours Automobility et FTB Chunks. Les correctifs 1 à 3 ne s'en servent pas, mais un serveur sans eux n'a pas été testé.

    Licence

    MIT. Les sources sont jointes aux fichiers du projet. Le mod ne contient ni code ni ressource des mods qu'il corrige.

    OVCR Server Compat Team

    profile avatar
    Owner
    • 6
      Projects
    • 738
      Downloads

    More from XonothView all