An AllayMC plugin that lets players create and manage parties to play together between servers.
- AllayMC API
0.28.0 - Java 21
ProxyThreadlibrary for cross-server synchronization
- Build the plugin with Gradle:
./gradlew shadowJar
- Copy the generated jar from
build/libs/into theplugins/folder of your AllayMC server. - Make sure the
proxythread-allaylibrary is also installed or loaded as a plugin on the server. - Start the server and adjust
config.ymlandmessages.ymlto your needs.
config.yml handles cross-server synchronization:
server-list:
lobby1:
socket-port: 19200
sw_solo:
socket-port: 19201
sw_doubles:
socket-port: 19202
current-server: lobby1server-list: list of connected servers with the socket port used byproxythread-allay.current-server: name of the current server (must match a key inserver-list).
All commands use /party:
| Command | Description |
|---|---|
/party |
Opens the main or management menu. |
/party create [public] |
Creates a new party. Add public to make it public. |
/party dispose |
Deletes the party (owner only). |
/party invite <player> |
Invites a player to the party. |
/party accept <inviter> |
Accepts a received invitation. |
/party reject <inviter> |
Rejects a received invitation. |
/party quit |
Leaves the party. |
/party kick <player> |
Removes a member from the party (owner only). |
- Each player can be in only one party at a time.
- A party has an owner (the creator) and supports up to 4 members in total.
- The owner can invite other players, kick members, or dispose the party.
- If the owner leaves the party, the party is automatically disbanded.
- When a player leaves the server, they are removed from the party and their invitations are cleared.
- Invitations are managed per player: an invitee can have multiple pending invitations from different parties.
- Accepting an invitation adds the player to the party, provided they are not already in another party and the party is not full.
Running /party without arguments opens a Bedrock Form that allows players to:
- Create a party
- View and manage received invitations
- Manage members of the current party
- Invite online players via an input/dropdown form
- Leave or delete the party
The plugin integrates with proxythread-allay to keep parties alive when players are transferred between servers (e.g., from a lobby to a minigame):
- Party data (owner and members) is sent over sockets between servers.
- When a packet of type
party_proxy_datais received, the party is automatically recreated on the target server. PartyTransferManagerhandles a transfer queue: it waits about 4 seconds (80 ticks) and then transfers all party members to the target server address.
The plugin emits custom events that other plugins can listen to:
PartyCreateEventPartyDisposeEventPartyJoinEventPartyLeaveEventPartyInviteEventPartyAcceptEventPartyRejectEvent
Each event extends PartyEvent or PlayerPartyEvent and supports cancellation where applicable.
To produce the production jar:
./gradlew shadowJarTo test locally with AllayGradle:
./gradlew runServerMade by NivarisMC — GitHub