Skip to content

Releases: playstructs/structsd

Therovis v0.19.1

22 Jun 03:17
5085a5a

Choose a tag to compare

More gameplay tweaks to dial in the battle mechanics.

Issue Category
Remove cmd ship requirement from battle actions Gameplay
Shouldn’t be able to Attack unbuilt Structs Gameplay
Shields Invulnerable in Fleet Away Bug,Gameplay
Battleship Secondary Update to 2dmg Bug,Gameplay

Changelog

  • 9cc2ba2 Fixing Battleship damage (1 to 2dmg)
  • f40eb6b Initiating v0.19.0 upgrade. Resolving planet vulnerability error when fleet is away.
  • 1c5a91b Preventing the attack of unbuilt structs, even though its completely hilarious and abstrct loves it.
  • acdb0b3 Removing Online command ship requirement to battle actions including attacks, defensive changes, and stealth changes.
  • a94cffd updating tests for 115b

Stellarine v0.18.0

11 Jun 14:27
173e7a2

Choose a tag to compare

Big gameplay fixes that will increase the pace of play, make certain weapons more viable, and hopefully balance out the OP nature of tanks.

Change Type Contributors
Charge Bar Balancing Gameplay abstrct, jpeg, netlag
Planetary Struct Health Increases Gameplay abstrct, jpeg
Change in BuildLimit Gameplay abstrct
Battleship vs. Tank Balancing Gameplay netlag
New Raid State - Shields Vulnerable Gameplay jpeg, netlag
Immovable Structs could move Bug abstrct
Player pfp (client render) Feature netlag

Changelog

  • 8c54972 Added a new weapon to Battleships to counter the effectiveness of the Tank.
  • 057ab77 Added new pfp_cr_attributes for holding pfp metadata
  • 07693d1 Build limit changed to infinite for planetary structs that only provide shield
  • 6c1febb Fix to a bug in proto-gen within the makefile. Made too many darn files
  • cd39c05 Fixed small movement bug that could allow for spam transactions
  • fef401d Fixing a bug in test_chain
  • 57a846f Planetary Struct health increases
  • 2c0693e Raids can only be won via hash when the command ship of the defender is offline or destroyed.
  • 3011e04 Updates to charge bar requirements for all actions
  • 1bef3c6 gitignore update

Rhevion v0.17.0

22 May 02:39
05bd79d

Choose a tag to compare

Cleaning things up just a little more. Chaosnet nears...

Item Category Reporter
planet explore shouldn’t empty charge bar Gameplay abstrct
Players should start with 0 lastAction Gameplay abstrct
Defender taking damage when attacker is countered Bug, Gameplay netlag
Malformed Grid Entry 2- Bug abstrct
Defusion State Lagging Bug Kilgore
Ante Handler bug Bug netlag, jpeg
Optionally Set Name on Explore Feature abstrct

Full Changelog: v0.16.0...v0.17.0

Changelog

  • 551d293 Added optional name parameter to explore
  • dbdf903 New test_chain functionality for the resolved battle bugs
  • 55d9d29 Resolve an issue that allowed distant fleet structs to still defend home planetary structs.
  • e281d28 Resolved defusion bug that saw the Infusion object lagging
  • 78c0f49 Resolved issues in Ante controller
  • d7964fa Resolved issues in defensive ordering where attacker could attack post-destruction.
  • 88f66b7 orphaned grid attribute 2- cleanup
  • 685380c v0.17.0 release prep: round-trip InfusionMaturitySweepQueue through genesis, register MsgGuildUpdatePrimaryReactor in the ante known-messages map (it was being bounced as unknown), add GP1 integration phase, runbooks, and ante-regression Makefile target

Quantillia v0.16.0

17 Apr 13:11
2278eb5

Choose a tag to compare

This month we tackled some fundamental features that structsd would need in place to graduate from a testnet chain, especially around gas handling and upgrades. We snuck a couple more gameplay fixes in there too.

Item Category Reporter
Attack Run not dealing damage gameplay, bug  jpeg
Planet Explore should require Fleet onStation gameplay, suggestion  jpeg
structsd Makefile feature  abstrct
Free x/staking Msgs bug, feature  abstrct
Guild UGC Moderation api, feature  abstrct, netlag
Custom Ante Handler Design for Structs Chain consensus  abstrct
Attacks cannot easily use auto Gas bug, consensus  abstrct, netlag
Implement Cosmos SDK Upgrade Handler System consensus  abstrct

Changelog

  • 5f49b3d Added UGC moderation functionality for guilds
  • a1ec2db Added UGC moderation functionality for guilds
  • 964460c Added a new fleet is on station requirement for planet exploration.
  • 6466e67 Added more work to the custom ante to make sure staking module queries were getting enough gas to complete. They're more complicated than normal due to the hooks they run.
  • 7cfdd26 Adding in proper upgrade path framework
  • e63915d Adding more strict parameters to name and pfp setting. Adding moderation events. Cleaning up some ante code.
  • ca31f7e Adding new PDC related tests
  • 34fe936 Custom ante handler for Structs. All Structs gameplay txs (allocations, substations, guilds, membership, permissions, ranks, reactors, address registration, proxy join, planet exploration, struct building, fleet movement, combat) work as free transactions with no fees. Standard Cosmos operations (bank sends in Phase 4b) work with normal gas fees. All 80+ message types are being processed correctly through the custom decorator chain
  • 1115efe Fixed a gameplay issue where starfighter damage expectations where between 0-3 instead of 1-3. New struct type attribute for guaranteed shot is available for struct types that require a minimum.
  • aacca6d Fixing an ante bug relating to reactors
  • 3da6f3b Long time coming but finally putting a proper build system in place.
  • 4be9cb7 Small improvements to the ante
  • 36abe45 resolving a number of bugs/flaws in the latest code changes after deep review
  • 45387da updating readme with make details.

Pyrexnar

27 Mar 01:56

Choose a tag to compare

Pyrexnar Pre-release
Pre-release

Like Opheliora but far less tragic.

  • Fixed bug in Proxy Join
  • Fixed tests that should have been there in the first place

Full Changelog: v0.14.0-beta...v0.15.0-beta

Opheliora

26 Mar 02:46
b85fcb3

Choose a tag to compare

Opheliora Pre-release
Pre-release

This release is a doozy. It's a significant step towards a mature codebase with working economic tooling and a battle engine tuned for fun.

Combat Engine Rewrite

The attack system was architecturally overhauled. All combat resolution logic has been centralized into AttackContext as a dedicated combat engine, replacing the previous approach where combat methods were scattered across StructCache. Every combat method now returns a typed result struct (EvasionResult, BlockResult, VolleyResult, CounterResult, RecoilResult, PlanetaryDefenseResult), and zero event writes happen during resolution. Event construction is consolidated into exactly two methods: EndShot for per-target details and Finalize for the overall attack event.

This restructuring was necessary to fix a bug where multi-shot weapons (like the Starfighter's Attack Run with 3 projectiles) were aggregating all shots into a single EventAttackShotDetail row. Damage totals were mechanically correct, but per-projectile hit/miss breakdowns were invisible to clients. Each projectile now gets its own event row, matching the proto's intended repeated EventAttackShotDetail design.

Counter-Attack Overhaul

The counter-attack system received several interrelated fixes. Structs now track counter-spent state per attack, ensuring each defender counters at most once. The ordering has been corrected so defensive counter-attacks occur before block attempts, and counter-attacks now properly fire even on evaded shots. Attack Runs were being countered too aggressively — all of these changes together bring the combat loop in line with the intended game design.

Allocation System Rework

The allocation system has been significantly reworked. The controller identifier is now PlayerId rather than an address, account abstraction has been added, and source capacity underloads are properly guarded. Allocations on import have been fixed (consensus-breaking), and provider allocations now validate the controller correctly. This touches the economic core of the chain.

Permission System Overhaul

Permissions have shifted from struct-level to a rank-based model. Guild rank now gates capabilities like kicking members. Struct-specific permissions have been removed in favor of the new system, and orphaned permissions are cleaned up. This is a meaningful governance change for guilds.

Additional Fixes

targetPlayerId moved from EventAttackDetail to EventAttackShotDetail in the proto (API-breaking for clients parsing attack events)
Planetary Defense Cannon return value was never being set — now correctly reports when cannons fire
EvadedCause was being populated even on failed evasion attempts — now only set on successful evasion
All combat logging downgraded from Info to Debug to reduce production noise
commitAll() reordered for indexer compatibility

Issue Type Author
Update Attack Events API netlag
Attack-Run countered too aggressively Gameplay netlag
Structs can only Counter-Attack once per Attack Gameplay abstrct, netlag
Planetary Defenses now accurately stack Gameplay abstrct
Guild Rank limits Guild Kick Capabilities Gameplay abstrct
Prevent Defender Block on evaded shot Gameplay abstrct, jpeg
Defensive Counter-Attack should occur before Block Gameplay netlag
PDC was counter-attacking when should be prevented Gameplay jpeg
Counter-Attack should fire on missed shot Gameplay jpeg
Guard Source Capacity Underload in Allocation Suggestion abstrct
Use AttackContext for managing attack results Suggestion abstrct
Delete orphaned permissions Suggestion abstrct
New Guild Rank Permission System Suggestion abstrct
Remove Struct specific permissions Suggestion abstrct
Proxy Join Error Handling Improvements Bug abstrct
Address Register Error Handling Improvements Bug abstrct
Allocation Controller needs validation Bug abstrct
Provider Allocations use controller incorrectly Bug abstrct
re-order commitAll() for indexer Bug abstrct, netlag
Add account abstraction to Allocations Feature abstrct
Allocation Refactoring Feature abstrct
Fix Allocations on Import Consensus,Feature abstrct
Allocation Controller now PlayerId Core abstrct
Improve Permissions Core abstrct

Full Changelog: v0.13.0-beta...v0.14.0-beta

Nebulon

22 Feb 21:31
d7a11b7

Choose a tag to compare

Nebulon Pre-release
Pre-release

More like Mystigone.

The previous release committed attributes before objects which caused massive issues in the indexer, which cascaded into grass and the interfaces. Rather than hack fixes into all those layers, we're just pushing a new release to fix the order.

Mystigon

19 Feb 15:08

Choose a tag to compare

Mystigon Pre-release
Pre-release

Various bug fixes, gameplay tweaks, and a casual complete refactoring of the caching framework.

Issue Type Requester
Energy issue during Build Cancel Bug jpeg
GoOffline() running too often Bug, CLI abstrct
Improved test coverage Consensus abstrct, netlag
Improved genesis import Bug, Consensus, Core, Feature abstrct, jpeg, netlag
Agreement Update bug Bug abstrct
Provide Create allowed for empty denom on Rate Bug abstrct
CounterAttack not doing a full readiness check Bug, Gameplay jpeg
Fix AttackCounterable as Struct-Level Override Bug, Gameplay jpeg
Add seizedOre to raid status Feature netlag
Jamming satellite effects linger after death Bug jpeg
Randomness Checks seem wrong Bug jpeg
Error on Fleet Movement to Populated Planet Bug, Core netlag
General Context Manager Feature abstrct
Energy Bug during PlanetExplore Bug, Economy abstrct
Possible Fleet PeaceDeal issue Bug, Core abstrct
Consistency Bug Bug abstrct, netlag
Always Delete Attribute on zero? Suggestion abstrct, netlag

Full Changelog: v0.11.0-beta...v0.12.0-beta

Luxoria

30 Jan 03:07

Choose a tag to compare

Luxoria Pre-release
Pre-release

This release is badass. Huge upgrades, squashed bugs, and fun gameplay changes.

Issue Type Requester
Zero block start hashing issue Bug AdamBomb, Dan, LuckyStar, jbowers, jpeg
Upgrade to IBC v10 API, Consensus, Core, Economy abstrct
Upgrade to Cosmos SDK v0.53.5 Consensus, Core abstrct
Open Hashing by Default Core, Feature abstrct
Improved error logging for indexing Core, Suggestion netlag
Missing Returns in Fleet Readiness Checks Bug abstrct
Double Commit on Same Target Bug abstrct
Target Struct Existence Not Validated Bug abstrct
Missing Weapon System Validation Bug abstrct
Missing Events for Indexer Bug, Feature abstrct, netlag
Object Deletion Inconsistencies Bug abstrct, netlag

Kalyptrix

18 Jan 15:21
1a1e1e4

Choose a tag to compare

Kalyptrix Pre-release
Pre-release

Hopefully longer lived than Junctiondale.

Fixes:

  • New Command ship now knows where it is.