Anti Structure Mesh [Ends with meshing!]

Anti Structure Mesh [Ends with meshing!] 1.8

  • Added `"Mesh_Ignore_Zones"`. It allows you to define regions where mesh check will not be performed.
  • Fixed `"Only_Check_Foundations"`. It will check foundations only now.
  • Added `"LimitOnlyFoundations"` to Linked structures config. This setting will only enforce link limits on foundations
  • Improved accuracy of the mesh algorithm
  • Improved performance of the mesh detection algorithm, also cleaned up the code and made it more efficient.
  • Added new config for linked structures: "CalculateLimitOfSameClassStructures": false, // If true it will only check for linked structures of the same type
  • Fixed only core structures config values, they should be taken in account correctly now.
  • Potential fix for auth code, some users would get hang at load.
- New auth server, check discord for migration guide.

- Fixed a potential lag issue
- Fixed some algorithm bugs

- Fixed lag when placing a lot of structures

- Fixed issues with placing structures on platform dinos

- Fixed issues with webhook formatting (non compact mode)

- Fixed webhook coords not being correct

- Fixed several bugs with detection algorithm. It should now be as accurate as it was before the beta.
- Fixed a critical crash
- Fixed webhook formatting.

- Optimized overall plugin performance by improving several areas of it.

- Redesigned detection algorithm, this should be more accurate and more performance friendly.

This new algorithm is under beta test, so it might have some wrong detections. Please get back to me with said false detections.

- Optimized how config lists (Ignore, CheckOnly, etc.) check for suitable structures. This lists also accept PrimalItemStructure path and full structure paths.

- Removed Vanilla Collision Compatibility mode as I have been able to make some improvements so it is no longer needed.

- Added new feature: Linked Structures Number limit. This will allow to limit how many structures are connected in the same "chunk" of structures.
For example: Set so only 50 foundations can be snapped together maximum (A lot of connected structures connected can cause major lags or spikes).

- Updated config_help.json for the new feature information.

Config additions for this new feature:

"LinkedStructures": { // Module to limit number of snapped structures at the same time.
    "EnableLinkedLimit": false, // Enable/Disable snapped structures limit
    "MaxLinkedStructures": 500, // Max number of structures connected (for example, to limit how many foundations, ceilings, walls can be snapped in the same "chunk")
    "LimitOnlyCoreStructures": true, // If true only foundations and fence foundations will have their structure count limited
    "StructuresToLimit": [ // If the above is true, this will not be checked. Otherwise if the above is false and this is empty, all structures will be limited, else only PrimalItemStructure BP paths listed in this list will be checked against snap limit

    "LimitReachedMessage": {
      "Message": "You have reached the max linked (snapped) structures. You may link up to {0} structures", // Message to send when the snap limit is reached. Notification type
      "DisplayTime": 10,
      "DisplayScale": 1.5,
      "DisplayColor": [ 255, 0, 0 ]
Needed reupload for standarization.
It is recommended to install this new version

- Changed authorization method to be way more reliable, it won't crash if auth server can't be reached. Update to this as soon as possible because auth server address will be moved soon, and previous versions may have problems with newer auth server.
- Added new command "/collisionreport", will send a webhook to server admins, with player character name, steamid64, map and coords of the zone that triggers collision in a wrong way.

- New config values:

"AntiStructureMesh": {
"Collision_Report_WebhookURL": "", // URL of the webhook to send the collision error reports (/collisionreport) to.
    "Collision_Report_WebhookMessage": "Player {0} ({1}) is reporting collision error in {2} at coords: {3} @everyone", // Message of the webhook for the /collisionreport webhook. {0} is player character name, {1} is steamid64, {2} is mapname, {3} is coords
    "Collision_Report_Success_Message": "Your report was successfully sent", // Message to send the player after /collisionreport command is done
    "Collision_Ignore_Zones": [
        "Coords": [ 0, 0, 0 ], // Coords of the error zone to ignore the vanilla collision
        "Range": 300 // Collision range to ignore. It is in unreal units. 300 unreal units = 1 foundation
- Fixed non-crashlog crashes (server window closure). There shouldn't be any crashes without crash stack.

- Detected and fixed some instances where the algorithm could fail and crash

- Made minimal changes to mesh detection algorithm, allowing me to improve it further on later releases
  • Like
Reactions: danielpl11