Hello and welcome to StarMade,
StarMade now features a complex faction system for players to group together and organize.
This news post is long overdue, but I just now finally find some time to write up the main features of this new system.
A faction in StarMade can be created by anyone. Factions with 0 players are removed, so no unnecessary data is piling up on a server. Therefore if you are the last player leaving a faction, the faction will be removed. Factions have no member limit, and are not restricted in any way.
Faction leaders may declare their faction "public", which means that anyone is able to join with just one click in the faction hub
Private factions are able to invite players. The invited player doesn't have to be online, and the invitations will even be there if the server gets restarted. Players can view incoming and their own pending invitations in the factions panel. Pending invitations can be revoked at any time by the inviter.
A faction can give up to 5 roles to their members. A role doesn't only serve as a basic rank, the faction leaders also can define permissions for each role individually: Kicking, Inviting, Editing, and the permission to edit permissions (leader). Despite the roles, a lower rank can't kick a member of an equal or higher rank, so basic security is enforced. The role checking for action is first done on the client, and then again on the server to rule out hacked clients.
Faction members with the right permission may post news updates for every member to see. For this I implemented an almost complete edit panel, so it's easier to edit news and the description of the faction. This system is also build in a way to minimize lag by only sending as much information to clients as requested.
Factions can have one of the following three relationships to each other: Ally, Enemy, or Neutral
This not only has an effect on the HUD (easily identify and distinguish friends, enemies, and neutrals), but also servers as a vital information for self made AI turrets and ships, which will now attack anything that is an enemy to the player's faction.
Members with the right permission may declare war at other factions. This action is instantaneous. A peace offering (become neutral), or an alliance offering however needs the confirmation of the other faction before it becomes reality. The other party may accept or decline any offer. Each declaration and offer also comes with a text, which is fully in the hands of the players. Furthermore, any offer or declaration will automatically create a news post on the other faction's news board with the text as content, and the type of declaration as a headline.
The faction module is a very unique feature. Players can place this block on any structure, activate it by pressing 'R' and assign the structure to their faction. This means that the object can only be edited, entered, or activated by members of the own faction. This will however NOT keep enemies from destroying the faction block voiding the faction assignment of the object.
The faction update also comes with another a very unique feature: Home Bases!
Every faction can have one home base. A member with the right permission may assign a structure as their home base activating the faction block as mentioned above.
Faction Home Bases can NOT be attacked, edited, entered, and activated by players outside the faction (for now). Also, any ship docked on a home base will also gain the same protection as home bases themselves have. This means that there is finally a fundamental way for players to protect their possessions.
Look out for lots of more new features and optimizations already in the game. I will do a write up of all of those soon.
Thanks for playing StarMade,