Mods / C&N Party

Tags:
Author:
KenigVovan
Side:
Both
Created:
Jun 28th at 10:10 AM
Last modified:
Jul 29th at 7:00 PM
Downloads:
2068
Latest release (for Vintage Story 1.22.3, potentially outdated):
canparty_1.1.1.zip  1-click install

C&N PARTY

Party system & MMO-style party HUD for Vintage Story

C&N Party is a standalone party system for Vintage Story. Players group up through an ImGui window or chat commands and get an always-on, MMO-style party HUD showing every member’s health and online status.

Core Features

Party Management

Groups of up to 5 players (configurable). The leader invites by name; the rest accept or decline.

  • Invite / accept / decline, with invites expiring after a configurable timeout
  • Leave, leader-only kick and disband
  • Promote any member to leader, plus automatic handover when the leader leaves
  • Managed from a GUI window or chat commands

Party Frames HUD

An always-on overlay listing every member, MMO style.

  • Live health bars & online/offline status
  • Server-synced: works even when teammates are far away or in another arena
  • Leader marker on the party head
  • Movable: drag it anywhere, position is remembered

Library & API

A small public API.

  • Ally / membership queries (server & client)
  • Party events to react to roster changes
  • Extensible HUD: mods add their own per-member bars (e.g. class mana/energy) without C&N Party knowing about them

Core Mechanics

  • Authoritative on the server: party membership and leadership live server-side; the client is a mirror used by the GUI and HUD.
  • Health sync: the server pushes each member’s health fraction to the party so bars stay live regardless of distance or loaded chunks. Refresh rate is configurable.
  • Disconnect-safe: logging out doesn’t remove you — you show as offline to the rest and rejoin your party automatically on reconnect. If the leader logs out, leadership hands off to an online member.

GUI

Open the party window with U (default; rebind it in Settings → Controls). From there you can create a party, invite by name, accept/decline invites, promote, kick, leave or disband.

  • The party-frames HUD appears automatically while you’re in a party.
  • To reposition it: tick Move HUD in the party window, drag the frames where you want, then untick it or press Esc.

Commands Overview

  • /canparty create  (alias new): start a new party
  • /canparty invite <name>: invite a player (leader only)
  • /canparty accept <name>  /  decline <name>: answer a pending invite
  • /canparty leave: leave your current party
  • /canparty kick <name>: remove a member (leader only)
  • /canparty remove  (alias delete): disband the party (leader only)
  • /canparty list: show members and pending invites

The whole command is also reachable via the alias /cy. Promoting a leader is done from the party window.

Configuration

Server config at ModConfig/canparty.json (created on first launch):

{
  "MaxPartySize": 5,
  "InviteTtlSeconds": 60,
  "PartyUpdateIntervalMs": 1000
}
  • MaxPartySize - maximum players in a party, including the leader (minimum 1).
  • InviteTtlSeconds - how long a pending invite stays valid before it expires.
  • PartyUpdateIntervalMs - how often (in milliseconds) the server refreshes member health on the party HUD. Lower is smoother but uses more bandwidth; clamped to a minimum of 100 ms.

For Modders

C&N Party exposes a shared party backend so other mods don’t reinvent grouping. Add canparty to your dependencies and use the mod system:

var party = api.ModLoader.GetModSystem<canpartyModSystem>();

// Server: ally checks & party management
bool allied = party.Manager.AreAllied(uidA, uidB);
party.Manager.GetPlayerParty(serverPlayer, out var p);

// Client: is this uid in my party? (markers, friendly-fire UX, ...)
bool mine = party.Client.IsInMyParty(uid);

// Client: add your own bars to each HUD row (e.g. class resources).
// You sync and own the data; C&N Party stays class-agnostic.
canparty.Gui.PartyHudExtensions.DrawMemberRow += memberUid =>
{
    // issue your own inline ImGui draw calls for memberUid here
};
  • ServerManager: create/invite/accept/decline/leave/kick/promote/disband, lookups, SamePartPlayers, AreAllied(uidA, uidB), and party events (changed / invited / disbanded).
  • ClientClient: InParty, Members (with live HP fraction), PendingInvites, IsInMyParty(uid), and a Changed event.
  • HUD - PartyHudExtensions.DrawMemberRow lets your mod draw extra per-member bars on top of the base name + health row.

Requirements

  • VSImGui (required dependency — powers the party window and HUD)

Mod Version Mod IdentifierFor Game version Downloads Released Changelog Download 1-click mod install*
1.1.1 canparty 1028 Jul 29th at 7:00 PM canparty_1.1.1.zip 1-click install
  • remove dependency
1.0.0 canparty 1040 Jun 28th at 10:11 AM canparty_1.0.0.zip 1-click install
  • init

0 Comments (oldest first | newest first) (threaded | flat)