Clans REBORN

Clans REBORN 3.0.39

df17326dead887a00bdccad27bde78a7.png

113fca38aa7e93d7fe27ae8621b22d40.png


1111.png 1112.png 1113.png

Features
  • Players can be invited being alive (online, sleeping) and dead (not alive)
  • Invited players being not in game get their clan invitation displayed 3 secs after login
  • It supports an optional alliance function for clan interaction
  • Clan members can toggle friendly-fire protection for clan mates and allies
  • Clan/Ally chats will display the name of the speaker with their colored clan status
  • Clan broadcasts show any action like invite or demote with the actors clan status color
  • The clan overview shows offline member names
  • The clan TAG min- and max-length can be defined in the config
  • Clan creation can check TAG’s against a blocked word list
  • Clan tagging can be optionally disabled
  • It can create/manage automatic Oxide clan groups including their members
  • Old (not updated since x days ) clans can be automatically purged
  • All authorized players of authLevel 1 and 2 can direct broadcast into a clan channel
  • All default chat commands are changeable.
  • All plugins colors can be formatted
  • All texts are available by language-file

Updating to 3.x.x and how to convert old data files to the new data structure
This is only relevant if you want to keep your previous clans data when updating.

1) Before updating the plugin to v3.x.x first create a backup of your Clans config and data files. Then rename your clans data file (/oxide/data/clans.json) to something other than "Clans".
2) Load the updated plugin on your server
3) In rcon type "clans.convertdata <filename>" replacing <filename> with the name of your copy of the existing clans data file (with out the extension).

All your existing clans will be converted to the new data file structure

Team Integration
Integration with Rusts team system is enabled by default. This allows players to use Rust team native functions (such as inviting players and leaving the team) and have it also apply to their clan.
JavaScript:
"Rust Team Options": {
      "Automatically create and manage Rust team's for each clan": true,
      "Allow players to leave their clan by using Rust's leave team button": true,
      "Allow players to kick members from their clan using Rust's kick member button": true,
      "Allow players to invite other players to their clan via Rust's team invite system": true,
      "Allow players to promote other clan members via Rust's team promote button": true
    }


Chat Commands
/a - chat to allied members
/clan - the clan overview
/clan help | /clanhelp - shows the help
/clan ally | /clanally - shows the ally options (owner or council)
/c - clan chat
/cinfo - info about other clans
/cff - toggles players ff status
/aff - Toggles alliance FF

Each command can be changed in the config to suit your needs
JavaScript:
"Command Options": {
    "Ally chat command": "a",
    "Clan chat command": "c",
    "Clan command": "clan",
    "Clan info command": "cinfo",
    "Ally friendly fire command": "aff",
    "Friendly fire command": "cff",
    "Clan ally command": "clanally",
    "Clan help command": "clanhelp",


Console Commands -
* Can be run via rcon or ingame console
clans - console command overview (client only)
Their access from clientside depends on the config:
JavaScript:
"Required auth-levels to use admin console command": {
      "Create clan": 2,
      "Rename clan": 1,
      "Disband clan": 2,
      "Invite member to clan": 1,
      "Kick member from clan": 2,
      "Promote/Demote member in clan": 1
    }


Clan Tag Word Filter

Clan creation can check TAG’s against a blocked word list
  • This function is enabled by default
  • The wordlist can be extended in the main config
  • Clan renames by server/admin/mod do not check this filter
JavaScript:
"Words/characters not allowed in tags": [
      "admin",
      "mod",
      "owner"
    ]


Purging Old Clans

Automated clan purging is enabled by default. You can have it purge clans that have not been online in the specified amount of days.
JavaScript:
"Purge Options": {
    "Enable clan purging": true,
    "Purge clans that havent been online for x amount of day": 14,
    "List purged clans in console when purging": true,
    "Wipe clans on new map save": false
  },


BetterChat Support
The plugin has support for BetterChat which allows you to set a size and color for clan tags.

JavaScript:
"Tag color (hex) (BetterChat)": "#aaff55",
"Tag size (BetterChat)": 15,


Permissions and Groups
The plugin can automate the management of dedicated oxide permission groups for each clan, and also for each member who joins and also leaves.
The plugin will auto-create the groups, checks memberships, validate groups, delete groups, remove members, etc.
JavaScript:
"Permission Options": {
    "Minimum auth level required to view clan info (0 = player, 1 = moderator, 2 = owner)": 0,
    "Use permission groups": false,
    "Permission group prefix": "clan_",
    "Use permission to create a clan": false,
    "Clan creation permission": "clans.cancreate",
    "Use permission to join a clan": false,
    "Clan join permission": "clans.canjoin"
  },


Discord Logging
You can log Clan events to your Discord guild by using https://www.chaoscode.io/resources/discordclans.210/


Config
The configuration file can be found in your server directory at .../oxide/config/Clans.json
The use of an editor and validator is recommended to avoid formatting issues
JavaScript:
{
  "Clan Options": {
    "Member limit": 8,
    "Moderator limit": 2,
    "Allow friendly fire toggle (clan members)": true,
    "Alliance Options": {
      "Enable clan alliances": true,
      "Alliance limit": 2,
      "Allow friendly fire toggle (allied clans)": true
    },
    "Invite Options": {
      "Maximum allowed member invites at any given time": 8,
      "Member invite expiry time (seconds)": 86400,
      "Maximum allowed alliance invites at any given time": 2,
      "Alliance invite expiry time (seconds)": 86400
    },
    "Rust Team Options": {
      "Automatically create and manage Rust team's for each clan": true,
      "Allow players to leave their clan by using Rust's leave team button": true,
      "Allow players to kick members from their clan using Rust's kick member button": true,
      "Allow players to invite other players to their clan via Rust's team invite system": true,
      "Allow players to promote other clan members via Rust's team promote button": true
    }
  },
  "Command Options": {
    "Ally chat command": "a",
    "Clan chat command": "c",
    "Clan command": "clan",
    "Clan info command": "cinfo",
    "Ally friendly fire command": "aff",
    "Friendly fire command": "cff",
    "Clan ally command": "clanally",
    "Clan help command": "clanhelp",
    "Required auth-levels to use admin console command": {
      "Create clan": 2,
      "Rename clan": 1,
      "Disband clan": 2,
      "Invite member to clan": 1,
      "Kick member from clan": 2,
      "Promote/Demote member in clan": 1
    }
  },
  "Role Colors": {
    "Clan owner color (hex)": "#a1ff46",
    "Clan council color (hex)": "#b573ff",
    "Clan moderator color (hex)": "#74c6ff",
    "Clan member color (hex)": "#fcf5cb",
    "General text color (hex)": "#e0e0e0"
  },
  "Clan Tag Options": {
    "Enable clan tags": true,
    "Tag opening character": "[",
    "Tag closing character": "]",
    "Tag color (hex) (BetterChat)": "#aaff55",
    "Tag size (BetterChat)": 15,
    "Tag character limits": {
      "Minimum": 2,
      "Maximum": 5
    },
    "Special characters allowed in tags": "!²³",
    "Words/characters not allowed in tags": [
      "admin",
      "mod",
      "owner"
    ]
  },
  "Permission Options": {
    "Minimum auth level required to view clan info (0 = player, 1 = moderator, 2 = owner)": 0,
    "Use permission groups": false,
    "Permission group prefix": "clan_",
    "Use permission to create a clan": false,
    "Clan creation permission": "clans.cancreate",
    "Use permission to join a clan": false,
    "Clan join permission": "clans.canjoin"
  },
  "Purge Options": {
    "Enable clan purging": true,
    "Purge clans that havent been online for x amount of day": 14,
    "List purged clans in console when purging": true,
    "Wipe clans on new map save": false
  },
  "Settings": {
    "Block clan/ally chat when muted": false,
    "Log clan and member changes": false,
    "Use ProtoBuf data storage": false
  },
  "Version": {
    "Major": 3,
    "Minor": 0,
    "Patch": 1
  }
}


API
This plugins provides the following for other plugins to use:

(bool) IsClanMember(ulong playerId, ulong otherId) - Check if 2 players are clan mates

(bool) IsMemberOrAlly(ulong playerId, ulong otherId) - Check if 2 players are clan mates or clan allies

(bool) IsAllyPlayer(ulong playerId, ulong otherId) - Check if 2 players are in allied clans

(JObject)GetClan(string tag) - Returns a JObject representing the clan using the specified tag or null if there is no such clan.

The JObject contains the following properties:
tag:string,
description:string,
owner:ulong,
council:ulong,
moderators:JArray:ulong,
members:JArray:ulong,
allies:JArray:string
invitedallies:JArray:string

(string) GetClanOf(BasePlayer | string | ulong) - Returns the clan tag of a player's clan or null if the player is not a member of a clan

(JArray)GetAllClans() - Returns an array of all clan tags

(List<string>)GetClanMembers(ulong | string) - Returns the member-id list of a player's clan or null if the player is not a member of a clan

The plugin also calls the following simple hooks (no return behaviour) on changes:
(void)OnClanCreate(string tag) - Called when a new clan has been created
(void)OnClanUpdate(string tag) - Called when clan members or invites change
(void)OnClanDestroy(string tag) - Called when a clan is disbanded or deleted

The plugin also calls the following informational hooks (no return behaviour) on changes:
(void)OnClanMemberJoined(string userID, List<string> memberUserIDs) - Called when a player joined a clan. Provides the Id of the new member and the full list of prior members excluding that Id

(void)OnClanMemberJoined(string userID, string tag) - Called when a player joined a clan. Provides the Id of the new member and the clan tag

(void)OnClanMemberGone(string userID, List<string> memberUserIDs) - Called when a player left a clan (leave|kick). Provides the Id of the old member and the full list of remaining members excluding that Id

(void)OnClanMemberGone(string userID, string tag) - Called when a player left a clan (leave|kick). Provides the Id of the old member and the clan tag

(void)OnClanDisbanded(List<string> memberUserIDs) - Called when a clan was disbanded or deleted. Provides the full memberlist at the time of deletion.

(void)OnClanDisbanded(string tag, List<string> memberUserIDs) - Called when a clan was disbanded or deleted. Provides the full memberlist at the time of deletion.

Information

Author
k1lly0u
First release
Last update
Rating
4.80 star(s) 41 ratings

Latest Release v3.0.39

Released
Sep 10, 2024 at 1:56 AM
Rating
1.00 star(s) 1 ratings


More resources from k1lly0u

  • PilotEject
    PilotEject
    A mini event where a helicopter malfunctions and the pilot has to eject
  • HeliRefuel
    HeliRefuel
    A mini-event where a helicopter populated with NPCs needs to land to refuel
  • ZombieHorde
    ZombieHorde
    Create hordes of zombies that roam around your server looking for brains
  • Admin Menu
    Admin Menu
    Manage groups, permissions, commands and convars from a GUI menu
  • TeleportGUI
    TeleportGUI
    Teleport, home and warp with a easy to use UI

Clans REBORN by k1lly0u
© chaoscode.io Jan 8, 2017

Latest reviews

no support what so ever
A masterpiece and an absolute must have, many adjustment options. Thanks for that !
Best Clans Plugin.Dont search for alternative because this is the best.
no rust.io support and no answer for questions!
Amazing. Fixed my issue with free clan plugins not working with rusts clans. Really easy to setup and quick support and no hassle.
Love the managing of the built in teams system - overall 10/10.
sick plugin
This is the best of the best when it comes to clan plugin i really like it but i would like to have a option to change chat icon from all messages that would make this even greater :)
state of the art.
Perfect!