Cooperative Ark Server
Author:
Downloads: 1,249
File Size: 157.9 KB
Created:
Updated:
Mod ID: 1397330
Categories:

Cooperative Ark Server

Help running a cooperative Ark server

What's it do?

Enforce good behavior on servers/clusters meant to be peaceful / cooperative communities.

What do you mean?

When trying to run an open server with a generous and cooperative spirit you inevitably have people wandering in "off the street" who are used to playing in less than neighborly, shall we say, ways. Destroying, Looting, Stealing, and otherwise trying to get ahead without playing the game. This is especially a problem for authors of large overhaul mod authors attempting to run community servers or clusters to help people experience the mod in the authors preferred light.

This mod prevents those undesirable behaviors altogether.

This mod is, so far, almost entirely client side. That means that except for the logic which makes sure that the mod buff is active on all players it should have almost no impact on server performance. Depending on future feature requirements this may change. But for now that's how this works.

Features:

  • Prevent demolishing enemy structures
  • Prevent claiming babies away from friendly bases
  • Prevent claiming babies near enemy bases
  • Prevent claiming dinos away from friendly bases
  • Prevent claiming dinos near enemy bases
  • Prevent looting enemy item caches that may happen to occur naturally
  • Prevent picking up items near enemy bases. This includes fertilized eggs.
  • Prevent stealing bloodlines by mating with dinos at enemy bases
  • Prevent building near enemy bases
  • Alliances are treated as friendly bases as of Build 15
  • Buff Icon to let you know if you are in Home (green), Allied (blue), Neutral (black), or Enemy (red) territory
  • Admins can use a scriptcommand to highlight enemy foundations to help with cleanup and clearing

Changelog

  • Build 10 - added pc and console client tick rate configuration
  • Build 11 - you can now open your own teams item caches even if you are near an enemy base (for example you can retrieve your items from your own player death cache if you are killed near an enemy base)
  • Build 15 - Allied buildings count towards allied ground, Allied ground considered home ground for permissions purposes. Allied ground added to the buff icon indicator via color (blue) and text description
  • Build 17 - added cheat scriptcommand CoopToggleHighlightEnemyFoundations
  • Build 18 - when not on enemy ground only re-evaluate our awareness radius after moving a foundation in any direction. when on enemy ground tick as normal.
  • Build 20 - Client side performance improvements. Admin highlighting will now work with some skinned structures

FAQ

Can you make it so that players can pick up their own dropped items like you did with item caches?

Unfortunately, no. The problem here is that when a single item is on the ground and it's able to be picked up by the client it presents two prompts. One to pick up the item, and another to pick up all nearby items. Unfortunately I do not see a way to separate the two, currently. This means that to steal someones dropped fertilized eggs, for example, all i would need to do is drop some feces and then pick up all nearby which would give me the feces and the eggs.

Where Can I Get Help or Ask Questions?

On My Discord

INI Settings (with defaults)

[CoopARK]

AwarenessRadiusFoundations=40

  • Look around the player in a radius of this many foundations to check for things such as enemy structures, etc. This needs to be large enough that players do not get to a structure or a dino to claim too quickly

BaseMinimumStructureCount=1

  • How many structures should the mod consider "a base" to require? Less than this many nearby enemy structures within AwarenessRadiusFoundations and are we are not near an enemy base. Less than this many player owned structures within AwarenessRadiusFoundations and we are not near a friendly base.
  • Only foundation type structures are counted (foundations, triangle foundations, fence foundations, pillars, etc)
  • Structures attached to Rafts, Platform saddles, or Ships (whatever Ark counts as a Ship) are ignored. This is to prevent griefing by parking a mobile base against a static base)
  • Map structures (such as supply drops) are also ignored.

PreventDemolishingEnemyStructures=true

  • Prevent even displaying the option of demolishing a structure near an enemy base. Meant to prevent looting

DisableDinoClaimAwayFromBase=true

  • Prevent claiming dinos unless we are near a friendly base. Meant to prevent looting babies, and claimable dinos.

DisableDinoClaimNearEnemyStructures=true

  • Prevent claiming dinos when near an enemy base. Meant to prevent looting babies and claimable dinos

DisableItemCachesNearEnemyStructures=true

  • Prevent accessing the inventories of item caches when near an enemy base. Meant to help prevent looting.

DisableItemPickupNearEnemyBase=true

  • Prevent picking up items near enemy bases. This includes things like eggs, poop, etc. Meant to prevent looting of fertilized eggs. The reason this setting is so broad is because of the pick up all nearby feature of the game (the F key on the keyboard.) If we disable only picking up of eggs all i have to do to circumvent this protection is to drop a poop, and then press F on the poop and it will pickup everything near it including the egg

DisableMatingAwayFromBase=true

  • Prevent your dinos from being able to mate while not near friendly bases and also when near enemy bases (added in build 6)

DisableStructurePlacementNearEnemyBase=true

  • Prevent building when near any enemy foundational structure. This will not decrease the radius around enemy structures in which you are prevented from building to less than the default even if AwarenessRadiusFoundations is set lower than this value. Notably this is not affected by BaseMinimumStructureCount as it simply extends the radius set for any enemy foundation that it finds. (added in Build 9)

ClientPcTicksPerSecond=10 and ClientConsoleTicksPerSecond=4

  • Number of awareness radius checks per second to run on the client. PC vs consoles are differentiated here to help with performance. Where PCs generally are beefier and consoles are more resource constrained. Also more can be done on a PC than on a console using things like macros so you can decide on your own trade-off for performance penalties vs the possibility of the protections being circumvented. An Additional consideration here is that a higher awareness radius means that it would be much harder to get to a "thing" from outside the awareness radius in the time it takes for the client to process another tick. This means that a lower awareness radius should probably be paired with a higher tick rate. Tune to your tastes. (added in build 10)