Hotfix #1 (no server update required): Possible fix for Nullpointer involving display variable configurations. Fix for skin shader error.
To all Servers that got a Database error: When the server was forced to shut down or crashed the last time before the update, the updated Database library couldn't handle the recovery file. The new database library increases performance significantly, so reverting to the old version permanently would not be good. However, here is a confirmed working solution to fix the problem: https://starmadedock.net/conversations/craftau-update-error.9237/#message-73155
Greetings, Citizens ~
In the process of working on NPC Factions, we’ve been doing what we can to release those pieces of it that work on their own. One such piece is the Fog of War.
Fog of War
Most of you already know this mechanic in one way or another. This is how it works in StarMade in its current state:
Fog of war happens on a per-system level with local granularity. This means that any sector and its neighbors become ‘scanned’ instantaneously when visited, and they keep being visible in the map until you log out (for personal usage) or the server/game restarts (for faction usage). You can ‘scan’ a system if you have visited at least 15 of its sectors (trackable in the galaxy map) or if you simply use your scanner. A system will be always visible in the map once available.
The reason for this two tier-system is simply scalability, as it would cause immense database load (and size) for an entirely per-sector fog of war.
Keep in mind that the Fog of War system is subject to change, since it’s an important piece of the NPC update. Scanners will also likely be rebalanced to be better at exploring. The system also already supports trigger based and time based “re-fogging” of areas.
Factions share their fog of war. This not only means that newly scanned systems are instantly available to all members, but it also means that factions share progress per system: if a 16-member faction all warps into different sectors within a system, they would reveal it instantly.
There is also a new permission available for faction ranks: Fog of War Sharing
This means that factions don’t have to share their information to new members they don’t trust yet. However, once the information is shared, the player will retain the gathered fog of war information, even in the event they lose the permission or get kicked from the faction entirely.
At the same time, a player will always share their personal fog of war information when they join a faction, even at a rank that doesn’t provide the player with any faction fog of war data in return.
Additionally, a member with the ‘Faction Edit’ permission can share the faction’s fog of war information with other factions. This option is available in the diplomacy panel.
Display Block Upgrade
In addition to last update’s new copy function, you are now able to modify the content of your display blocks in even more ways. When copying the content from one display block to another, you can now use the following tags:
[shield], [shieldCap], [shieldPercent], [power], [powerCap], [powerPercent], [auxPower], [auxPowerCap], [auxPowerPercent], [structureHp], [structureHpCap], [structureHpPercent], [armorHp], [armorHpCap], [armorHpPercent], [mass], [blockCount], [sector], [system], [name], [docked], [cloaked], [jamming], [speed]
~ '[PASSWORD]text': The text in this block will not show up.
~ '[ADD]text': The text after [ADD] is added to the existing text of the connected block ([ADD] must be in the very front)
~ '[DEL]number': Removes an amount of characters from the conneted block ([DEL] must be in the very front)
~ '[REPLACEFIRST]regexp[WITH]replacement': use java conform regular expressions to replace specific text ([REPLACEFIRST] must be in the very front)
~ '[REPLACEALL]regexp[WITH]replacement': use java conform regular expressions to replace specific text ([REPLACEALL] must be in the very front)
You can also use the sensor block to check if two display blocks have equal text content. Just connect the sensor block to two display blocks as input. The [password] tag is ignored when comparing text.
All this information is also available in the ‘Help’ panel on any display block!
It’s worth mentioning that, with enough logic circuitry, you could write a command parser using the above additions. You could, quite literally, type “open airlock 12” into a display block and have your ship execute the command.
Progress on the NPC update is steady, but we might need a 4-week release period to get the NPC update done more quickly.
As always, thanks for playing StarMade!
~ The Schine Team
Greetings citizens, ~
This is another update in the midst of developing the NPC update. Although we said updates are going to be smaller during this time, this one actually has quite the substance to it for logic users.
New Logic Blocks
This update adds a new logic block and system to the game.
As you probably guessed by the name, this block produces random results when activated. Each time it receives any signal (true or false) it has a 50% chance to change its state.
This can have several applications:
Using multiple randomizers can create a random binary number depending on how many you use. You also can also modify the odds by chaining these blocks together with ANDs to reduce the odds, or ORs to increase them.
Logic Sensor Block (Council suggestion T1756)
The logic sensor block is part of an entirely new system that can probe the current state of most systems on a structure, such as power or shield percentage. This means you can now include the state of those systems in your logic circuits.
The following systems can be probed:
~ Power and Power Aux: The output is based on the power/capacity percentage.
~ Shields: The output is based on the percentage of shields compared to its capacity.
~ Jump Drive: The output is based on the charge percentage.
~ Jam/Cloak: The output is 100% when it’s on and 0% when it’s off.
~ Doors: The output is 100% when closed and 0% when open.
~ Cargo: The output is based on that unit’s volume/capacity percentage.
We will add more in the future.
(For more information on reading from the values, see below.)
The sensor block outputs a true signal to all touching logic blocks if its condition is met.
It only does this check when it’s triggered by an external signal such as an incoming true signal from a button/activation module. It’s best to make your own clock so it constantly asks the sensor block to check again.
Just link the sensor to any of the systems mentioned above to change what it should be checking. Linking it to a single block is enough. For doors it will look at the entire group, for systems such as power it will look at the total power. Make sure you only have 1 type linked.
Its default condition is 100% (or above but it’s already the maximum value). Meaning that closed doors, cloaker/jammer/… enabled, and fully charged power/shields/.. Will make it output a true signal when triggered.
You can change this condition by linking the sensor to activation modules. It’s using the same system as rail speed controllers so it’s looking at the ratio of true signals versus the total linked.
3 true activation modules out of 5 linked ones means the condition is set to 60% (3 / 5 * 100) and above.
The reasoning behind requiring a logic signal to pulse the sensor is that it both adds more control over signal rates and significantly reduces overhead. A reverse trigger (meaning the block automatically firing when sensing the desired value) had several problems: Not only would it be performance intensive by having to iterate through all sensor blocks on every update (as inputs don’t know their incoming connection), but it is also less versatile, since this logic-based approach lets you sense a value on events (e.g. a better automatic door that only sends a signal to close a door that is actually open).
The whole system also ties nicely into the general design of StarMade, which is to avoid countless menus of configuring systems with dropdown menus and entering numbers.
We have developed and included a new radial menu for this update. This menu will finally make remembering shortcuts for menus a thing of the past.
The default hotkey for the menu is TAB; everything that was previously bound to TAB has been moved to F1. Keep in mind that the design and usability of this menu is not final! We understand that there are several approaches and ideas on how radial menus work, and we will adapt it according to what feels the most comfortable for users.
New Graphical Effects
This update also contains some shiny new effects, as well as improving existing ones:
(Ship made by napther)
Thrusters and Cannons
We’ve added new post-processing to both the thruster plume and cannon fire that will make your ships significantly prettier, and the effect isn’t simply linear, so the more thrusters you expose, the more rockin’ that ship’s tail will be. This is a prototype and it will be expanded upon later.
Likewise, cannon fire now glows, and scales with that cannon’s damage. You can also customize the muzzle flash by connecting its computer to a light block. The same goes for the thrusters on your ship, just connect the ship core to a light.
This glow has also been applied to our beacon blocks.
Display Block Logic
Due to high demand, we’ve had this planned for quite a while now. The content of display blocks is transferrable, and it works exactly the same as rail replacement. Just place an activation block next to a display block and connect it to a second display elsewhere. On activation, the content of the adjacent display block will be transferred onto the remote display. This allows, among many other things: cycling systems readouts, security feeds, and even a chat/alert system.
Since we’re aware that players will make some crazy things with this, we’ve made improvements to the network code so that changes only affect nearby players. In this case, it only sends the text to nearby players (as opposed to everyone) when displays change.
Rail Connection Logic
You may now connect rails to activation blocks. This allows you to use logic without needing to place the activation blocks directly adjacent to your rails -- potentially in the middle of nowhere. This will, however, disable touch logic for the specific rail block you’ve linked.
Rail pickup points are now invisible if the point is deactivated. (Council suggestion T1735)
Furthermore, it is now possible to toggle the logic pipe graphics on/off in the game’s graphics options.
Block Config change
~ Power auxiliaries were changed from 100 SHP to 25 SHP. This should make it less punishing to lose them. We’ve planned other changes, but they’ve been delayed for the time being due to insufficient feedback.
~ We’ve changed the grouping of logic multi-slots to make room for the new randomizer and sensor block.
~ T1869: Client crash in specific sector (nullpointer)
~ T1918: Power aux explosions aren’t random
~ Ghost linking by switching rails with logic is fixed.
The shadows have been fixed and improved using values from Crusader’s mod. The shadow map updates now runs at a limited framerate compared to the game, which improves performance. We’ve also greatly increased the draw distance for ultra quality shadows. Also, instead of objects beyond the shadow draw distance being dark, they will be lit instead.
Thanks for playing StarMade,
~ The Schine Team
Hotfix 0.199.217: Fixed universe generation (no planets in new universes). Fixed ClassCastException when loading ship with ongoing auxiliary power explosion.
We are currently mainly working on the NPC Faction update, but we will release updates at the normal schedule. This update has some nice new gameplay features, as well as an overhaul of our lighting engine and a small texture update.
The need for power in StarMade is always present. So much so, that players came up with complex designs that involve using the supply beam to overcome built in restrictions to docked entities.
The problem with this kind of construction was, that they didn’t really perform very well, and if they actually undocked in combat or on accident, they would cause major lag.
We don’t want to punish players by just taking their power away, so we had to come up with a compromise. Together with the council we developed a new block: Power Auxiliary
This new power block replaces the functionality of the current docked reactor concept with an onboard block. Eliminating any lag caused by physics.
Auxiliary power can be assigned to your hotbar (from your weapons menu) and can be turned on and off on demand. It works like a reactor with internal storage that can act as a buffer.
When it’s on, its regeneration gets added to the main ship and also its stored power gets dumped into it (even if there is no room).
When it’s off, it charges its internal storage although at a slower pace compared to its normal generation.
Stations/Planets can’t switch between modes, their reactor is always on. The AI though can’t use the block right now, that will be added at a later stage.
Docked reactors had downsides though. They were easily found on a ship because of their navigation markers. And when damaged, they would rapidly lose their efficiency.
The new block has a different downside that comes down to the same thing, loss of efficiency/regeneration.
If a block of a group gets taken out, the whole group starts to discharge. Explosions will occur inside that group. The amount of explosions, their radius and damage depend on the size of the group at the time of being hit.
The biggest reactors can almost reach an efficiency of 200 power per block but they’re also the ones that are easily hit and take the most damage when exploding. They’ll lose most of their blocks in about 1-2 minutes which still makes them useful for a short period after they got shot.
However, it is strongly advised to use armor, not only to protect those groups from external damage, but also to interlace it within the group, so a potential discharge would minimize damage inside a group.
It’s a high risk high reward system. Using it wisely can make your ship superior to others. Using it recklessly can make your ship useless with some lucky hits. Your power is the most important part on your ship and you want to make sure it’s out of reach.
(Smaller ships didn’t have docked power reactors to begin with. We have other systems planned that will affect them.)
To make sure people will stop using docked reactors of any kind, we have now included a config option to modify the output of these Beams when they’re hitting a docked entity, or an entity where it is part of. It’s set to 0 meaning that
~ Power Supply
~ Power Drain
~ Shield Supply
~ Shield Drain
don’t work anymore on any docked reactor type. We didn’t make a shield reactor replacement system since this is just a fancy way of avoiding the “regen under fire” mechanic. If shield rechargers or capacitors need a buff, then we’ll simply change the config values.
Role play servers that still want these reactors to work just to have to change <RailHitMultiplierParent> in their blockBehaviorConfig to 1
Lighting Shader Overhaul
We completely reworked the lighting shader engine. It now looks much cleaner than before, allowing better specular control and removing previous oversaturation issues. More features will be coming to improve lighting indoors. If you have previously altered your Gamma or Lighting Quality settings to manipulate the brightness you may want to re-check your settings to find a desireable light level in this update.
Detailing on hulls such as wear and scratches are now light dependant and will shimmer in the sun.
Blocks that are light in colour will no longer wash out or bloom when lit.
Hulls and Light blocks have been adjusted to work accurately with the new lighting system. All others blocks have been given a basic working specular value temporarily while we prepare for new texture projects.
Normal maps have been re-enabled on hulls and measures added to help prevent Moiré effects.
We’ve squashed lots of rotation bugs on hulls meaning hazard stripes and hull blocks with normal maps will no longer sit at odd angles to each other when rotated. They should now smoothly tessellate across varying shapes and angles and lighting will flow accurately along their maps.
This example of old, broken tiling is a thing of the past!
Fixed tiling! Hazard hulls will now tessalate correctly over multiple angles and shapes.
An all new texture pack is in progress, which will take advantage of the new lighting changes to allow better material definition through specular mapping. This new pack is a complete overhaul of our default set, you can check out a few work in progress shots and discuss the upcoming changes here in this thread. We hope to have this in your hands within the next few release cycles.
Work in progress shot for the upcoming texture set.
Small Shipyard Features and Fixes
Several shipyard bugs have finally been fixed. If you find more, make sure to report them. Shipyards will be a key component later on so it’s important to make them reliable. There is still more to do in terms of usability but some small new features have already been added:
~ Designs can now be created directly from the catalog list.
~ A permission block next to the Shipyard now also acts like a permission block next to the shipyard anchor, making it possible for players to create ships on a shipyard that doesn’t belong to their faction. The constructed ships will have the faction of the player who issued the order.
~ Shipyards can be linked to factories (pull on construction will pull from factories)
In tandem with the Shipyard fixes, some important fixes to rails have also been made:
~ Rail movement is now delayed until all necessary elements have been loaded. That means, docked entities will no longer just start moving if they are on a rail that has 0 speed. They will also not collide into each other on loading making them unusable until redocked.
~ Rail collision behavior has been improved by delaying a resetting entity by a random time, this decreases the potential of a deadlock at intersections considerably. You could also use this as a random signal generator (until a block for that is introduced).
The SHP of Shield capacitors and rechargers was reduced from 100 to 25. This should make them a more viable choice to use as a buffer block between your armor and your power.
These blocks lost most of their usefulness when you start taking block damage so there’s no reason to have their SHP this high.
The new power auxiliary block has the same values as power reactors/capacitors except for its HP and its recipe:
~ Block HP is 50 (instead of 25)
~ Crafting recipe is: 1x power reactor + 1x power capacitor
Looking for new forum admin(s)
The StarMade Forums (StarMade Dock) are currently looking for one to two new community administrators. Admins are volunteers who manage the moderation team, site policy and overall ensure the community is running well. More details can be found here: https://starmadedock.net/threads/looking-for-new-administrator-s-for-smd.26679
~ Your player character getting reset on exiting the game might be fixed now. This one is hard to trace.
~ Fixed an exploit involving shipyards
~ T1360 Shipyard adds suffix and prefix to chosen name
Thanks for playing StarMade,
~ The Schine Team
Hello citizens, ~
a small hotfix has been uploaded:
~ Fixed servers with lots of blueprints freezing when a player saves a blueprint (Uncontrolled multithreading caused too much memory being consumed)
~ Fixed cores being destructible on client side (didn't affect servers, so it had no direct gameplay implication)
~ Fixed orientation resetting for damaged blocks on client side (also didn't affect servers, so it fixed itself on reload)
~ Changed entity saving method to possibly fix issue of playerstates resetting on some systems. Also increased log output on that should it still happen.
Thanks for playing StarMade,
~ the Schine team
Greetings, Citizens ~
Terra here. After many months of working on the new launcher, I’m excited to finally announce its release!
The new launcher is a pleasant departure from our previous, rather utilitarian version. It’s beautiful, very user-friendly, and should help resolve many issues. (Though, should you prefer using the legacy launcher for any reason, you may still do so.)
Please note that we are only releasing the launcher on Steam at present.
A standalone version will follow soon.
If you want to use the new launcher outside of Steam now, head over to our downloads page and hit the “DOWNLOAD NEW LAUNCHER” button http://www.star-made.org/download .
Here are a few of the major points:
One of the primary benefits of the new launcher is that it comes already bundled with Java. Not only will this allow users to launch the game on systems without Java installed, it also ensures the correct bit version for their system. (While using 32bit Java on a 64bit OS is possible, doing so causes significant performance issues.) Furthermore, we specifically picked the Java version we’ve bundled for its better performance, so using the new launcher should improve gameplay experience, at least slightly, for most players. (Should you prefer to use your own installed Java version instead, you may specify it within the launcher options.)
On a related note, there’s a relatively rare but difficult-to-troubleshoot problem that has plagued many players in StarMade and other Java games alike: the _JAVA_OPTIONS environment variable. When present, it overrides any settings passed to Java, often causing crashes or extremely poor performance. The new launcher warns you when it is present and allows you to alter its value if desired.
These two features should resolve the majority of pre-launch issues.
Steam linking is considerably easier now: when running the launcher via Steam, it will ask if you want to link your Steam account after you’ve logged in. The option is also available in the launcher options.
Continuing with the theme of thwarting potential problems, the memory settings window will not allow you to choose invalid memory values, and has sensible defaults. The input boxes allow fine control over values, while their spinners and the slider allow you to change values quickly.
As the launcher is freshly out of beta, there may be some lingering bugs. If you discover any, please restart the launcher with the --verbose option (via the console, or within Steam via “Properties > Set launch options…”), reproduce the behavior, and attach launcher.log to the bug report along with the usual information. I will be happy to squish them for you.
Speaking of options, passing --help to the launcher will give you a list of options that change its behavior, including bypassing the autoupdate feature, or capturing the game’s output for troubleshooting purposes.
I will continue updating and improving the launcher, and already have several additional features planned. Furthermore, we here at Schine are planning on releasing the launcher’s source in the coming weeks, so if you’re keen on forking it or helping out, you can! If you just want to poke around, that’s fine, too.
Stay tuned for more updates!
And as always, thanks for playing StarMade
~ The Schine Team