Last week, we learned of several exploits and how to reproduce them. To prevent further harm to servers, we've made a hotfix to address them. As a general security measure, we are also not going to list them here.
If you have any more information about other exploits, or that were only partially addressed, please report it here. Note that reported bugs are always private from the start and only a few Schine members are able to see them.
As mentioned in the last dev post, the power update is coming along swiftly, and will result in a dev build in about 2-3 weeks.
Thanks for playing StarMade,
~ the Schine Team
Just a quick update on the current progress: Due to all the work in the previous months, the power update implementation is going fairly swiftly. The basic mechanics are in. There are still a few things missing, especially in terms of effects, GUI and usability, but it’s coming along pretty nicely. Then, we will do some preliminary testing as well as writing some test configurations, since the whole system is based on a new config and effect environment. All values of the new system will of course also be user-customizable.
Expect a first protoype dev build in ~2-3 weeks.
As promised, the first versions of this system will be able to run alongside the old system. For testing purposes, only ships that have a new main reactor block will switch to the new system.
Thanks for playing StarMade,
~ The Schine Team
Greetings Citizens, ~
We just uploaded a new release to fix some bugs of the previous release, as well as some older bugs:
~ T2513: Old exploit fixed
~ T2510: OSX OpenGL crash
~ T2507: Connections and statistics not showing correctly - client issue that was always there, but became a lot more common because of the improved speed with chunk requesting.
~ T2500: Sorting in Main Menu Local Play Adv. Settings is by tooltip
~ T2498: Unable to lock symmetry plane in place with empty hotbar slot
~ T2495: false positive for “is waiting for docks” | “still needs entities to dock on it”
~ Fix for infinite stock shops
Additionally a new “context help” has been added, replacing the old help keyboard list. it’s a lot less in the way and hides/shows information when needed:
You can deactivate these “Keyboard HUD Icons” in the options menu - general.
Onwards to implementing the power system prototype (which has been worked on already for the past weeks).
Thanks for playing StarMade,
~ the Schine Team
Greeting, Citizens ~
A new release version is out, quick summation below:
~ A new segment requester, streamlining the chunk load requests.
~ Our build mode has seen an extensive GUI and functionality overhaul, making building even easier than it already was.
~ A new graphical effect, an outline used in targeting and block linking.
~ Fleet orders are persistent now, they won’t change back to idle after server restarts
~ 2 new rail blocks to make unloading and loading of cargo between entities much more versatile to use
~ General GUI changes, including an updated keyboard menu and a heat warning marker if you’re getting dangerously close to a star.
~ Bug fixes
A full list is provided below, but first we like to thank @Schnellbier and @0ldskull for helping us out with our pre-release candidates, making sure there’s less chance of a game breaking bug slipping through.
As mentioned in a previous dev blog, we’ve completely rewritten the chunk request system.
The new approach streamlines the order of chunk requests over multiple entities. They’re now ordered in the background on a global level, meaning nearby chunks will have much shorter load times. This also benefits the lighting calculations, which should improve overall performance.
A new graphical effects that outlines/highlights entire entities or groups. Right now we only use it for the current selected target and for most C + V systems out there. Most likely we’ll integrate this system later with the upcoming power changes and its information warfare portion.
The outline system uses a highly optimized mesh that can quickly be generated for any number of blocks. Although this system is not able to replace the existing mesh and chunk system due to lacking information, they’re still a necessity for future plans as they would also be used in far-aways LoD views of a model. In combination with higher-granularity chunk system, should give a large FPS increase when viewing bigger objects in the distance.
Note: framebuffer has to be enabled in your graphic options as it would not work properly otherwise. We’ve added the option where you can enable/disable the older purple box from within the build mode Display menu.
This is an addition to the build helpers. You set two points (using your camera position, as with the fill tool) and it will create a line between them. You can adapt the line thickness with a slider.
We’ll add more features in the future, such as splines.
As with the new GUI, this is also a work-in-progress, so we’ll be improving it and fixing any issues that arise.
The fill tool allows you to incrementally fill (or replace) areas with your desired block. It’s quite simple to use: you can freely select your starting point with the camera (similar to ‘create docking’), and press the fill button with a block selected on your hotbar.
The fill tool allows both space-filling and block-replacing, depending on what the starting point is. If it’s empty space, the tool will flood-fill; if it’s a block, only that block type will be replaced. Also: this is a step-based system, meaning undo and redo work, allowing you to easily fix any mistakes.
You can use the slider to set the amount of blocks added by step. The max amount can be changed in the config.
Different method of selecting
With adding the line tool, we added a new way to select portions of blocks altogether. It is now possible to select boxes by selecting the starting and the end point. This comes in especially useful for copy & paste which in the past always was a bit finicky to use.
Besides the new look, we’ve changed quite a lot of the original’s build mode functionality. We’ve grouped the available tools together accordingly and those groups can be collapsed or expanded when needed. When the expanded areas become too large, it becomes scrollable. However, the orientation group with the undo/redo buttons however is fixed at the top so that you never lose track of it.
Which group is expanded or closed is saved on exit and restored next session.
The orientation group at the top also functions as a radial menu for shape selection, simply left click it and hold to make it popup.
The sliders have received a makeover, now allowing more ways for you to change their value. Their value can now be entered manually by left clicking the value on the left side and functions like a text box only allowing numeric input.
If you have a mouse wheel, you can also change the slider’s value by hovering your mouse over the textbox on the left and scrolling up or down, allowing for quick adjustments.
The build helpers have also gotten a general overhaul. We got rid of the annoying popup dialogs, so everything can be set or changed directly from the build mode panel itself. This also allows you to recalculate a build helper’s parameters without having to redo everything. You can also change the placement of the build helper
The placement of the build helper can also be moved independently without having to clear the current build helper.
Symmetry planes now have their individual odd-mode, allowing you to work with an off-center XZ plane but a centered YZ plane at the same time for example.
Symmetry received another option to disable/enable the mirroring of non-cubic blocks such as wedges. This also works with the replace filter.
We’ve also added tooltip support to the build mode panel. It’s not used that much right now but later we can add some nice descriptions to some of the tools if needed.
Additionally we added “sticky advanced build mode” by pressing the advanced build mode key twice rapidly, which allows you to keep advanced build mode active without having to hold the key. Pressing the key once more gets it back to normal.
A Block picker function, to look at a block and add that to your hotbar is in the game too now, you use it by holding the advanced build mode button and clicking with your middle mouse button.
If you use the middle mouse button in normal build mode, it gives you the ability to automatically switch to any of your docked ship you’re looking at.
We’ve added two new blocks to the game: the “Rail Load” block and the “Rail Unload” block. (We’re still working on their textures)
You can place them anywhere, and they work identically to normal rails, but they have an added feature: item transfer. These blocks allow transferring items between connected storages on a station and a docked ship via the Load/Unload Rail. Example:
You connect a storage to your rail docker on a ship, and dock it to a Load Rail on a station. The ship is then able to pull items from any storage on the station connected to that Load Rail.
If you instead dock the ship to a Rail Unload block, the station may then pull items from the ship’s connected storage to any storages connected to that Rail Unload block.
Again, both docker and rail need active connected storages. Also, the station will only pull items if it has permission to do so!
The ship radial menu allows you to select between 5 different permissions for the load/unload rails:
~ Always allow
~ Always allow faction, ask for rest
~ Always ask
~ Allow current (the entity you’re docked to; this allows manually activating or deactivating)
General GUI updates
~ Main menu tooltips:
~ Loading advice
~ Keyboard options menu using new lists with subcategories and filters
~ Sector Heat warning marker if you’re getting close
~ Shop menu panel is a bit better/consistent
SQL in StarNet
In one of the previous updates, we added the ability for server admins to query the server’s database directly via SQL. This is an incredibly powerful tool, and many server owners have taken advantage of it to create fancy features on their websites, write fine-tuned automated scripts, gather game metrics, etc. However, this functionality required us to inject the command directly into the console, and parse its reply -- not the cleanest or most direct approach.
StarNet, our dedicated tool for this sort of thing, has now permissions to both run SQL queries and to also return its output to you.
This should give admins cleaner, easier access to the internals of their server’s database.
~ ALLOW_PASTE_AABB_OVERLAPPING: Server option to disable/enable the building check if overlapping with other ship’s bounding box
~ ECMStrengthMod: BlockBehavior option that modifiers the amount of scanner modules needed versus mass of target ship to disable cloakers/jammers.
~ T2437 (Private): block exploit
~ T2379 (Private): Ctrl+A in client password entry field uncensors text
~ T2360 (Private): Cloaking/radarjammer issue
~ T2295 (Private): Uploaded blueprints can have no owner
~ T2467: /kick_players_out_of_entity kicks everyone on the server out of their entities
~ T2401: Light rods have wrong block icon colour
~ T2391: Rail + Storage disconnecting
~ T2388: Nullpointer with displays
~ T2372: Shootout rail launching at 45 degrees
~ T2361: Power auxiliary is disabled for AI
~ T2357: Typos in credits
~ T2323: Rail or display connection not shown or desync after logic swap
~ T2284: camera detaches from character when numpad+ key is pressed multiple times
~ T2220: weapon menu unlinking support/effect doesn't update list
~ T2218: /SQL_Query command cannot be used with starnet.jar
~ T2202: Alt Gr combinations for characters don't register
~ T2159: Race disappears from race menu
~ T2124: Advanced Build mouse cursor does not show up when key reassigned to RControl
~ T1840: shopkeep can't be respawned
~ T1819: Tooltip doesn't update for single stack items <-> multi slot | meta-item interaction
~ T1686: Shop can only accept one incoming connection
~ T1494: Display Module  tags are cap sensitive
~ T1362: Jump distance not consistent (with changed sector size)
~ T1350: Thrust setting not saved in Blueprint
~ T111: Wireless connection isn’t wireless when on same Entity except Asteroids
We’ve also added more translations to the game and all of the typo fixes that were brought up by our hard working translators!
Now that our building tools are up to the job, we’re switching our focus on the power system update. We’ve already implemented some parts of it that should further reduce the amount of time needed to get the system in-game.
Balance, of course, is going to be tricky and will delay its real release date. Internal testing will catch quite a lot of issues, but public feedback on it will speed up things even more so make sure to keep an eye out on our future dev blogs for more information on that.
Thanks for playing StarMade,
~ The Schine Team
Greetings, citizens ~
This week it’s the Explorer’s turn, the 2nd part of our “End Goals document”.
List of player roles:
In the previous dev blog, there was some misconception on what our intentions were with these 6 player “roles”, we would like to clarify on that first.
For us, the “roles” represent player archetypes, extremely one-sided examples of what a specific type of player might want to do. We use those mindsets or “roles” to determine what we can add to StarMade to make that area of gameplay possible as a whole, making each role an enjoyable experience on its own.
Any everyday player will naturally fall under several roles and play the game however they want. These roles are not forced in any way, and are not even mentioned anywhere else outside the end goal document. They are just something we’re using internally to get structure in a long list of gameplay directions and features.
In contrast with the Builder role, the exploration aspect of StarMade is currently not well developed. This role is for the players who like exploring a game world and uncovering mysteries, lore and interesting areas along their journey.
Flying out and discovering different places in the universe is “exploration”, but so is exploring every gameplay aspect of the game.
Not only do you find new places but also new block systems and how those influence your play style. However, we don’t have to delve deeper into this particular gameplay aspect, as it is already addressed in the “Builder” role and the following dev blogs.
Here, we only focus on the game world and what it has to offer for the Explorer.
Before throwing yourself into the unknown, you need something worth exploring first. We want to create a dynamic world that has a limited amount of interesting areas, and danger in between. Exploration itself would be encouraged in multiple ways.
~ Resources: Restructuring the universe to condense most resources into relatively small areas will make them stand out much more than the generic space surrounding it. Uncommon resource rich regions will automatically become points of contention, and therefore points of interest where players, as well as NPCs will be drawn to.
The end result is that, without adding anything else, only a relatively small area of a galaxy is worth exploring and anything in between could be filled with some hurdle to overcome to add some variation to the vast emptiness of space.
~ Content: These points of interests would, in addition to its resource richness, contain much more to increase its exploration value.
This could be anything, ranging from different stellar objects to treasures and loot. Examples could be moons, nebulae, gas giants, different types of stars (supernova), black/white holes, and other abnormalities each with their own effects. Fauna and flora could add greatly to this system too, but would be an add-on feature.
~ Out-of-ship exploration is a whole other chapter: stations, ships, planets, dungeons, caves and fauna add countless possibilities for adding unique content. Upgrades to astronaut equipment could be found and crafted with these resources, encouraging you to leave your ship’s safety and gather those few materials you need by hand.
~ NPC Factions: Their primary role is to fill the universe with history and lore, making it feel alive where every NPC owned entity would have real astronauts walking around. Some of these factions need some extra diversity to make them stand out more to make it easier for a player to align to at least one of them.
~ Danger: Natural hazards, hostile factions and other dangerous anomalies would need to be added to restrict the amount of freedom a player has when exploring. The extra challenge is sorely needed yet should not become a nuisance. The main requirement for this to work properly would be to have a structured galaxy where certain areas are always easily accessible with little to no dangers.
~ Quest and Reward system: Quests, either given by NPC’s or triggered automatically (finding a log book), will point the player to new and other interesting areas. Although finishing the quest would give rewards, they mostly serve to encourage the player to go beyond what they already know. Additional progression can also be given with collectibles or rare decorative items, introducing some more lore.
~ Events: Generated events like battles, trading routes, raids, space creatures, mysterious faction appearances and supernovae will add more immersion and life to an artificial universe, and making sure the player encounters them without having to actively search them out. As an option, we could have end-game events to spice things up when a SP or MP world starts becoming stale.
~ End-game: Several entities in the game (prominently NPC factions) will not only provide events, but also a real challenge for anyone. The farther the player goes “out”, the more dangerous it will get to the player with the void being the most dangerous area.
~ Map information: The current interface that shows you what the galaxy looks like has no level of detail system, overflowing players with tons of information they don’t need.
With the point of interest system, where only a handful of systems contain most interesting parts, we can hide and show that information from the player. We can also rely on graphical elements to attract players as nebulas and giant stars would easily be seen on the map.
As each point of interest would be unique in some way, it would also be information worth trading with other players or NPC factions.
~ Transportation: How balanced the thrusters and jump drives are right now is unclear, mostly because the third option, Warp gates, are far from usable. The warp gate is supposed to be the ultimate traveling mechanic to get from one to another that has a huge setup cost in comparison as its downside.
Besides generated old/deactivated warp gates, the player and NPC created ones suffer from an issue where they are too easily destroyed. It will take some testing to narrow down which areas need to be altered to alleviate this issue.
One galaxy to rule them all
Procedural generation, the tool that allows us to create an infinite world comes with a large downside that mainly affects exploration. Everything you see and encounter along the way, is generated content and you will see the same over and over again. Not only that, but the recurring patterns devalue every little handcrafted piece.
We cannot avoid this issue, yet we can mitigate the problem.
The starting galaxy, with perhaps a few islands of stars, is big enough to create an unique enough environment for a player to enjoy.
The trick isn’t necessarily to create enough content to fill it up, but to spread it out properly and make sure the player does not see it all in one day. It is also why we are focusing on these points of interests, as those act as small islands in an endless ocean.
A few higher priority bugs were found in the pre-build version that we fixed now. Currently we’re doing some additional pre-release testing to make sure there are no other remaining high priority issues.
In case you’re interested in helping us out with some testing, make sure to check out our pre-release post here. Remember to always use a separate installation for preview builds as they may potentially include game-breaking issues.
If you come across anything new that doesn’t work or you believe you’ve located a new bug, report that here to help us out: Report a Bug (Release Candidate)
As always, thank you for playing StarMade!
~ The Schine Team