Page MenuHomeSchine - Phabricator

Starmade | Multiple Major exploits via file editing
Closed, FinishedPublic

Description

The root cause of all of these exploits is the ability to move various SMD* and ENT files between blueprints in the games 'blueprints' folder which allows many otherwise impossible things:

Partial blueprint theft bug>>Associated file 'Betty Thief'

Summary

This is a bug that allows a user to create a blueprint that upon loading will contain docked entities from another blueprint
within the same database.

Method

For this example the ship I am stealing from is on a server and called 'Betty' it has one docked entity: On an SP world create a simple ship composing of a core docked to another core, save this blueprint and name it 'Betty', then go into your blueprint folder and rename the 'Betty' folder something else such as 'Betty Thief', Once this is done go onto the server containing 'Betty' then upload 'Betty Thief' and spawn it; it will spawn with the core from the original blueprint but docked to it will be whatever is in the ATTACHED_0 folder of the 'Betty' blueprint in the server's database.

Explanation

The meta data of a parent ship references itself via the blueprint folder in order to retrieve the docked entities (Betty/ATTACHED_0) changing the name of the blueprint folder does not change the reference so it will continue to retrieve docked entities from the old folder name, thus allowing one blueprint to load docked entities from another.

Player spawnable custom asteroids bug >> Associated file 'Blingroid'

Summary

This bug allows players to spawn custom made asteroids for the cost of the physical (obtainable) blocks in the smallest natural asteroid they can find.

Method

Create a simple ship composing of a core docked to another core and another ship composing of your custom asteroid; use the /save command to save a blueprint of an unedited (not even mined) asteroid. In the blueprint file for the two docked cores go into the ATTACHED_0 folder and replace the DATA folder with the one from your custom asteroid blueprint, replace the 'meta', 'logic' and 'header' files with those from the asteroid blueprint. The blueprint for the 2 docked cores will now cost (1 core, 1 rail, and the physical blocks in the natural asteroid used) and when spawned will spawn your custom asteroid (potentially millions of free blocks)

Station docked to ship bug >> Associated file 'ET5P3'

Summary

Allows the player to have a ship with a station docked to it.

Method

Create a simple ship composing of a core docked to another core and create a station with a rail docker on it. Use the contents of the station blueprint to replace the contents of the ATTACHED_0 folder in the blueprint of the 2 docked cores.

Planet docked to ship bug >> Associated file 'ET5P4'

Summary

Crashes single-player worlds and causes servers to throw out null-pointer errors.

Method

The method is exactly the same as for the 'Station docked to ship bug' only utilizing a planet blueprint instead of a station one.

Spawn multiple non-docked ships with one blueprint bug >> Associated file 'ET6P1'

Summary

Allows the player to spawn multiple ships with one blueprint, all of them must still be payed for.

Method

Create a ship with multiple docking points on it, then replace the contents of the blueprints ATTACHED_X folders with the ships you want to spawn (none of them can have rail dockers), they will spawn in the same positions they would if they were docked but will not be attached in any way to the parent ship.

Core-less ship bug >> Associated file 'SuperCore'

Summary

Allows the player to create unusable ships without cores, or usable ships with any enter-able block in place of a core, also
allows the creation of ships with station blocks.

Method

Simply replace the DATA folder of a ship with one from a station.

Relate blueprints:

Details

Task Type
Bug
Testing Results
Affected Gamemode(s)
Single and Multi
Reproducible
Yes
Last tested (version)
0.19349; build 20150728_232625
Category
Engine
First occurrence (version)
v0.1932
Hardware/Software/System
OS-Specific
No
Hardware-Specific
No
Video Card Vendor
uncertain
Video Card Model
NVIDIA GeForce GT635M
Detected video (Graphicsinfo.txt)

Running on thread: ClientThread
Adapter: igdumdim64
Driver Version: 10.18.10.3958
Vendor: NVIDIA Corporation
OpenGL Version: 4.5.0 NVIDIA 353.06
Renderer: GeForce GT 635M/PCIe/SSE2
GLSL Ver: 4.50 NVIDIA

SMC-Report

Starmade System Checker Report
29/07/2015
0:25:22.91

RESULTS:
Windows version: Windows 8.1 64-bit ....PASS
Processor: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz (4 CPUs), ~2.5GHz
Memory: 8192MB RAM
Graphics Name: NVIDIA GeForce GT 635M ....PASS
Java version: 64-bit Java 7 ....PASS

Serverconfig (server.cfg)
WORLD = Map //set world to use (set 'old' for using the old world). if no world exists a new one will be set automatically
PROTECT_STARTING_SECTOR = false //Protects the starting sector
ENABLE_SIMULATION = true //Universe AI simulation
CONCURRENT_SIMULATION = 256 //How many simulation groups may be in the universe simultaniously (performance)
ENEMY_SPAWNING = false //Enables enemy spawing
SECTOR_SIZE = 10000 //Sets the size of sectors in the universe **WARNING** scaling the size of an existing universe down may cause issues
BLUEPRINT_DEFAULT_PRIVATE = true //If true, set blueprints private as default (else they are public)
FLOATING_ITEM_LIFETIME_SECS = 240 //How much seconds items floating in space should be alive
SIMULATION_SPAWN_DELAY = 420 //How much seconds between simulation spawn ticks
SIMULATION_TRADING_FILLS_SHOPS = true //Trading guild will deliver stock to shops
SECTOR_INACTIVE_TIMEOUT = 20 //Time in secs after which sectors go inactive (-1 = off)
SECTOR_INACTIVE_CLEANUP_TIMEOUT = 10 //Time in secs after which inactive sectors are completely removed from memory (-1 = off)
USE_STARMADE_AUTHENTICATION = false //allow star-made.org authentication
REQUIRE_STARMADE_AUTHENTICATION = false //require star-made.org authentication (USE_STARMADE_AUTHENTICATION must be true)
PROTECTED_NAMES_BY_ACCOUNT = 10 //How many player names a player may protect with his account (if exceeded, the player name, that was logged in the longest time ago gets unprotected)
DEFAULT_BLUEPRINT_ENEMY_USE = false //Default option for blueprints not in catalog yet
DEFAULT_BLUEPRINT_FACTION_BUY = true //Default option for blueprints not in catalog yet
DEFAULT_BLUEPRINT_OTHERS_BUY = true //Default option for blueprints not in catalog yet
DEFAULT_BLUEPRINT_HOME_BASE_BUY = true //Default option for blueprints not in catalog yet
LOCK_FACTION_SHIPS = true //If true, ships of other factions cant be edited, activated, or entered
DEBUG_FSM_STATE = false //transfer debug FSM state. Turning this on may slow down network
PHYSICS_SHAPE_CASTING_TUNNELING_PREVENTION = false //Makes a convex cast for hight speed object to prevent clipping. High Cost. (Bugged right now, so dont turn it on)
CATALOG_SLOTS_PER_PLAYER = -1 //How many slots per player for saved ships (-1 for unlimited)
UNIVERSE_DAY_IN_MS = 1200000 //how long is a 'day' (stellar system rotation) in milliseconds (-1 to switch off system rotation)
FORCE_DISK_WRITE_COMPLETION = false //forces writing operations of raw data to disk directly after operation. For some OS this prevents raw data corruption
ASTEROIDS_ENABLE_DYNAMIC_PHYSICS = false //enables asteroids to be able to move in space
ENABLE_BREAK_OFF = false //debug (don't activate unless you know what you're doing)
COLLISION_DAMAGE = false //colliding into another object does damage
COLLISION_DAMAGE_THRESHOLD = 2.0 //Threshold of Impulse that does damage (the lower, the less force is needed for damage)
SKIN_ALLOW_UPLOAD = true //if off, skin uploading to server is deactivated
CATALOG_NAME_COLLISION_HANDLING = false //if off, saving with an existing entry is denied, if on the name is automatically changed by adding numbers on the end
SECTOR_AUTOSAVE_SEC = 300 //Time interval in secs the server will autosave (-1 for never)
PHYSICS_SLOWDOWN_THRESHOLD = 40 //Milliseconds a collision test may take before anti-slowdown mode is activated
THRUST_SPEED_LIMIT = 200 //How fast ships, etc. may go in m/s . Too high values may induce physics tunneling effects
MAX_CLIENTS = 32 //Max number of clients allowed on this server
SUPER_ADMIN_PASSWORD_USE = false //Enable super admin for this server
SUPER_ADMIN_PASSWORD = mypassword //Super admin password for this server
SERVER_LISTEN_IP = all //Enter specific ip for the server to listen to. use "all" to listen on every ip
SOCKET_BUFFER_SIZE = 65536 //buffer size of incoming and outgoing data per socket
PHYSICS_LINEAR_DAMPING = 0.09 //how much object slow down naturally (must be between 0 and 1): 0 is no slowdown
PHYSICS_ROTATIONAL_DAMPING = 0.09 //how much object slow down naturally (must be between 0 and 1): 0 is no slowdown
AI_DESTRUCTION_LOOT_COUNT_MULTIPLIER = 0.9 //multiply amount of items in a loot stack. use values smaller 1 for less and 0 for none
AI_DESTRUCTION_LOOT_STACK_MULTIPLIER = 0.9 //multiply amount of items spawned after AI destruction. use values smaller 1 for less and 0 for none
CHEST_LOOT_COUNT_MULTIPLIER = 0.9 //multiply amount of items in a loot stack. use values smaller 1 for less and 0 for none
CHEST_LOOT_STACK_MULTIPLIER = 0.9 //multiply amount of items spawned in chests of generated chests. use values smaller 1 for less and 0 for none
USE_WHITELIST = false //only names/ips from whitelist.txt are allowed
FILTER_CONNECTION_MESSAGES = false //don't display join/disconnect messages
USE_UDP = false //Use 'User Datagram Protocol' (UDP) instead of 'Transmission Control Protocol' (TCP) for connections
AUTO_KICK_MODIFIED_BLUEPRINT_USE = false //Kick players that spawn modified blueprints
AUTO_BAN_ID_MODIFIED_BLUEPRINT_USE = false //Ban player by name that spawn modified blueprints
AUTO_BAN_IP_MODIFIED_BLUEPRINT_USE = false //Ban player by IP that spawn modified blueprints
REMOVE_MODIFIED_BLUEPRINTS = true //Auto-removes a modified blueprint
DEBUG_SEGMENT_WRITING = false //Debugs correctness of writing of segments (costs server performance)
TCP_NODELAY = true //Naggles algorithm (WARNING: only change when you know what you're doing)
PING_FLUSH = false //flushes ping/pong immediately (WARNING: only change when you know what you're doing)
RECIPE_BLOCK_COST = 5000 //How much blocks have to be invested to create a recipe (min 0)
SHOP_SPAWNING_PROBABILITY = 0.08 //(must be between 0 and 1): 0 is no shops spawned in asteroid sectors, 1 is shop spawned in everyone (default: 8% -> 0.08)
RECIPE_REFUND_MULT = 0.5 //how much blocks are refunded from selling a recipe (must be between 0 and 1): 0 no refund, 1 full refund
RECIPE_LEVEL_AMOUNT = 4000 //On how much created blocks will a recipe level up (base value) (min 0)
DEFAULT_SPAWN_SECTOR_X = 2 //DEFAULT Spawn Sector X Coordinate
DEFAULT_SPAWN_SECTOR_Y = 2 //DEFAULT Spawn Sector Y Coordinate
DEFAULT_SPAWN_SECTOR_Z = 2 //DEFAULT Spawn Sector Z Coordinate
MODIFIED_BLUEPRINT_TOLERANCE = 0.1 //Tolerance of modified blueprint trigger (default = 10%)
TURNING_DIMENSION_SCALE = 1.1 //Scaling of tuning speed VS ship dimension (default = 1.1)
DEFAULT_SPAWN_LOCALPOINT_X_1 = 0.0 //First Rotating Spawn: Local Pos X Coordinate
DEFAULT_SPAWN_LOCALPOINT_Y_1 = -6.5 //First Rotating Spawn: Local Pos Y Coordinate
DEFAULT_SPAWN_LOCALPOINT_Z_1 = -8.0 //First Rotating Spawn: Local Pos Z Coordinate
DEFAULT_SPAWN_LOCALPOINT_X_2 = 7.0 //Second Rotating Spawn: Local Pos X Coordinate
DEFAULT_SPAWN_LOCALPOINT_Y_2 = -6.5 //Second Rotating Spawn: Local Pos Y Coordinate
DEFAULT_SPAWN_LOCALPOINT_Z_2 = 0.0 //Second Rotating Spawn: Local Pos Z Coordinate
DEFAULT_SPAWN_LOCALPOINT_X_3 = 0.0 //Third Rotating Spawn: Local Pos X Coordinate
DEFAULT_SPAWN_LOCALPOINT_Y_3 = -6.5 //Third Rotating Spawn: Local Pos Y Coordinate
DEFAULT_SPAWN_LOCALPOINT_Z_3 = 7.0 //Third Rotating Spawn: Local Pos Z Coordinate
DEFAULT_SPAWN_LOCALPOINT_X_4 = -8.0 //Forth Rotating Spawn: Local Pos X Coordinate
DEFAULT_SPAWN_LOCALPOINT_Y_4 = -6.5 //Forth Rotating Spawn: Local Pos Y Coordinate
DEFAULT_SPAWN_LOCALPOINT_Z_4 = 0.0 //Forth Rotating Spawn: Local Pos Z Coordinate
PLAYER_DEATH_CREDIT_PUNISHMENT = 0.1 //players credits lost of total on death (must be between 0 and 1): 1 = lose all, 0 = keep all
PLAYER_DEATH_CREDIT_DROP = false //drop credits lost on death into space instead
PLAYER_DEATH_BLOCK_PUNISHMENT = false //player will drop all his blocks into space on death
PLAYER_DEATH_PUNISHMENT_TIME = 300 //Time interval in seconds after death of a player in which the player is not punished
PLAYER_DEATH_INVULNERABILITY_TIME = 5 //Time the player is invulnerable after death in sec
PLAYER_HISTORY_BACKLOG = 30 //how many login history objects (with name, IP, account-name, and time) should be saved by player state
PROJECTILES_ADDITIVE_VELOCITY = false //initial projectile speed depend on relative linear velocity of object fired from
PROJECTILES_VELOCITY_MULTIPLIER = 1.0 //multiplicator for projectile velocity
IGNORE_DOCKING_AREA = false //ignores docking area size
ALLOW_UPLOAD_FROM_LOCAL_BLUEPRINTS = true //enables clients being able to upload their pre-build-blueprints to the server
SHOP_NPC_STARTING_CREDITS = 10000000 //how much credits do shops start with
SHOP_NPC_RECHARGE_CREDITS = 100000 //how much credits do shops gain about every 10 min
AI_WEAPON_AIMING_ACCURACY = 10 //how accurate the AI aims (the higher the value the more accurate vs distance. 10 = about 99% accuracy at 10m)
BROADCAST_SHIELD_PERCENTAGE = 5 //percent of shields changed for the server to broadcast a shield synch
BROADCAST_POWER_PERCENTAGE = 50 //percent of power changed for the server to broadcast a power synch (not that critical)
ADMINS_CIRCUMVENT_STRUCTURE_CONTROL = true //admins can enter ships of any faction
STAR_DAMAGE = true //suns dealing damage to entities
SQL_NIO_FILE_SIZE = 256 //megabyte limit of .data file when to use NIO (faster) (must be power of 2)
PLANET_SIZE_MEAN = 175.0 //Planet size mean (normal gaussian distribution) (min 50)
PLANET_SIZE_DEVIATION = 100.0 //Planet size standard deviation. Note: normal gaussian distribution graph scaled horizontally by 1/3 (min 0)
PLAYER_MAX_BUILD_AREA = 100 //max area a player may add/remove in adv. build mode
NT_SPAM_PROTECT_TIME_MS = 30000 //period of spam protection
NT_SPAM_PROTECT_MAX_ATTEMPTS = 30 //max attempts before refusing connections in spam protect period (default is 1/sec for 30 sec)
NT_SPAM_PROTECT_EXCEPTIONS = 127.0.0.1 //ips excepted from spam control (separate multiple with comma) (default is localhost)
NT_SPAM_PROTECT_ACTIVE = true //enables connection spawn protection (flooding servers with login attempts)
USE_PERSONAL_SECTORS = false //will spawn a player in a locked sector sandbox (warning, don't use unless you know what you do)
BATTLE_MODE = false //turn on battlemode (warning, don't use unless you know what you're doing)
BATTLE_MODE_CONFIG = battleSector=0,0,0,Physics.smsec;battleSector=15,15,15,Physics.smsec;countdownRound=300;countdownStart=30;maxMass=-1;maxDim=300;maxMassPerFaction=-1; //General config for battlemode
BATTLE_MODE_FACTIONS = [TeamA, fighters, 500,500,500, 0.5,0.1,0.9];[TeamB, fighters, -500,-500,-500, 0.5,0.9,0.2];[TeamFFA,ffa, 0,0,-500, 0.2,0.9,0.9];[Spectators,spectators, 0,500,0,0.8,0.4,0.8] //Faction config for battlemode
LEADERBOARD_BACKLOG = 24 //time in hours to keep leaderboard backlog (the more time, the more data has to be sent to client)
ANNOUNCE_SERVER_TO_SERVERLIST = false //announces the server to the starmade server list so clients can find it. Hostname must be provided for HOST_NAME_TO_ANNOUNCE_TO_SERVER_LIST!
HOST_NAME_TO_ANNOUNCE_TO_SERVER_LIST =  //this must be a valid hostname (either ip or host, e.g. play.star-made.org)
SERVER_LIST_NAME = NoName //max length 64 characters
SERVER_LIST_DESCRIPTION = NoDescription //max length 128 characters
MISSILE_DEFENSE_FRIENDLY_FIRE = true //can shoot down own or missiles from own faction
USE_DYNAMIC_RECIPE_PRICES = true //use recipe based prices (the price is the price of the parts it is made out of in crafting)
MAKE_HOMBASE_ATTACKABLE_ON_FP_DEFICIT = true //Home bases become attackable if a faction's Faction Points are in the minus and the faction doesn't own any territory
PLANET_SPECIAL_REGION_PROPABILITY = 240 //one out of thisValue chance of a special region spawning per planet plate (cities, pyramids, etc) (changing this value migth change some plates, but won't change any plates that are already modified by a player)
NT_BLOCKUPDATE_QUEUE_SIZE = 127 //how many blocks are sent per update. Huge placements will shot faster, but it will consume more bandwidth and is subject to spamming players
CHUNK_REQUEST_THREAD_POOL_SIZE_TOTAL = 25 //Thead pool size for chunk requests (from disk and generated)
CHUNK_REQUEST_THREAD_POOL_SIZE_CPU = 3 //Available threads of total for CPU generation. WARNING: too high can cause cpu spikes. About the amount of available cores minus one is best
BUY_BLUEPRINTS_WITH_CREDITS = false //buy blueprints directly with credits
SHOP_USE_STATIC_SELL_BUY_PRICES = false //shop buy and sell price change depending on stock (shop prices will always stay the same if true)
SHOP_SELL_BUY_PRICES_UPPER_LIMIT = 1.2 //maximum of base price a shop will want depending on its stock (e.g. max 120 credits if the normal cost is 100)
SHOP_SELL_BUY_PRICES_LOWER_LIMIT = 0.8 //minimum of base price a shop will want depending on its stock (e.g. max 80 credits if the normal cost is 100)
MINING_BONUS = 1 //general multiplier on all mining
MAX_COORDINATE_BOOKMARKS = 20 //coordinate bookmarks per player allowed
ALLOWED_STATIONS_PER_SECTOR = 1 //how many stations are allowed per sector
STATION_CREDIT_COST = 1000000 //how much does a station or station blueprint cost
SKIN_SERVER_UPLOAD_BLOCK_SIZE = 256 //how fast should skins be transferred from server to clients (too high might cause lag) [default 256 ~ 16kb/s]
ALLOW_OLD_DOCKING_BEAM = false //enables old docking beam
WEIGHTED_CENTER_OF_MASS = true //if on, the center of mass for each structured will be calculated based on block mass. On 'false', the center of mass is always the core position
SECURE_UPLINK_ENABLED = false //dedicated servers can be registered on the StarMade registry
SECURE_UPLINK_TOKEN =  //uplink token, provided when registering a dedicated server
USE_STRUCTURE_HP = true //ships and other structures use the hitpoint system. if off, a ship will overheat when the core gets taken out (old)
SHOP_REBOOT_COST_PER_SECOND = 100.0 //Cost to reboot a ship at a shop (per second it would take to reboot in space)
SHOP_ARMOR_REPAIR_COST_PER_HITPOINT = 100.0 //Cost to repair a ship's armor at a shop
MAX_SIMULTANIOUS_EXPLOSIONS = 10 //the more the faster explosions at the same time are executed (costs in total about 20MB RAM each and of course CPU because it's all threaded) (10 is default for a medium powered singleplayer)
Clientconfig (settings.cfg)
C_USE_NEW_PLAYER_MODEL_ = true
CONTROL_HELP = false
C_MOUSE_BUTTOM_SWITCH = false
G_RESOLUTION = 1366 x 768
G_FULLSCREEN = true
G_VSYNCH = false
G_FOV = 85.0
G_MAX_SEGEMENTSDRAWN = 20000
G_DRAW_SURROUNDING_GALAXIES_IN_MAP = false
D_LIFETIME_NORM = 30
G_WINDOWED_BORDERLESS = false
S_SOUND_SYSTEM_ENABLED = true
S_SOUND_ENABLED = false
S_SOUND_VOLUME_GLOBAL = 6
N_TRANSMIT_RAW_DEBUG_POSITIONS = false
C_SELECTED_JOYSTICK = -1
ICON_BAKERY_BLOCKSTYLE_ROTATE_DEG = -90.0
MOUSE_WHEEL_SENSIBILITY = 7.0E-4
BUILD_MODE_SHIFT_SPEED = 25.0
ORBITAL_CAM_SPEED = 0.5
G_DAMAGE_DISPLAY = 500
G_STAR_COUNT = 512
G_VBO_BULKMODE_SIZE = 4
G_DRAW_FOG = false
G_DRAW_BEAMS = true
G_DRAW_EXHAUST_PLUMS = true
D_INFO_CONTROLMANAGER = false
D_INFO_SHADER = true
T_ENABLE_TEXTURE_BAKER = false
D_INFO_DRAW_TIMES = false
D_INFO_DRAW_SPACE_PARTICLE = false
G_SPACE_PARTICLE = true
G_DRAW_MOUSE_COLLISION = false
G_ATMOSPHERE_SHADER = normal
G_SHADOW_QUALITY = ULTRA
G_DRAW_SHIELDS = true
G_DRAW_WATER = true
G_DRAW_BACKGOUND = false
G_WATER_USER_MIPMAPS = false
E_NAVIGATION_FILTER = 637
G_DRAW_ENTITIES = true
G_FRUSTUM_CULLTING = true
G_DRAW_EFFECTS = true
G_SHADER_RELOAD = false
G_FRAMRATE_FIXED = -1
G_SHADERS_ACTIVE = true
G_DEBUG_DRAW_GRID = false
G_DEBUG_DRAW_LINES = true
F_FRAME_BUFFER_USE = false
T_TERRAIN_DRAW = true
T_TERRAIN_WIREFRAME_DRAW = false
G_CULLING_ACTIVE = true
G_TEXTURE_ARRAYS = true
G_AUTO_NORMALIZATION = true
G_DRAW_BY_SIDES = true
G_WIREFRAMED = false
G_NORMAL_MAPPING = true
G_TEXTURE_COMPRESSION = true
G_TEXTURE_ARRAY_COMPRESSION = true
G_TEXTURE_ARRAY_MIPMAP = true
G_TEXTURE_MIPMAP = true
G_SHADOWS = true
G_SHADOWS_VSM = false
S_PAUSED = false
S_SETTINGS_SHOW = false
MINIMAP_MODE = SMALL
SECTOR_INDICATION_MODE = INDICATION_ONLY
S_KEY_ALLOW_DUPLICATES = true
G_PROD_BG = false
G_PROD_BG_QUALITY = 1024
G_TEXTURE_PACK = Default
GIF_WIDTH = 640
GIF_HEIGHT = 640
GIF_FPS = 15
GIF_GUI = false
G_DEBRIS_THRESHOLD_MS = 4
G_TEXTURE_PACK_RESOLUTION = 256
S_INITIAL_SETTING = Single Player
S_GAME_MODE = Sandbox
G_BONE_ANIMATION = true
P_NT_DEBUG_ACTIVE = false
P_PHYSICS_DEBUG_ACTIVE_OCCLUSION = false
P_PHYSICS_DEBUG_ACTIVE = false
P_PHYSICS_DEBUG_MODE = 0
G_DEUBG_LINE_DRAWING_ACTIVATED = false
G_WINDOW_START_POSITION = center
G_DRAW_GUI_ACTIVE = true
G_DRAW_NO_OVERLAYS = false
G_PARTICLE_SORTING = true
P_PHYSICS_ACTIVATED = true
G_SMOKE_QUALITY = false
G_DRAW_STARS = false
G_DRAW_PASTE_PREVIEW = true
G_USE_SPRITE_VBO = true
S_TUTORIAL = false
G_AUTOSELECT_CONTROLLERS = true
S_INFO_DRAW = SOME_INFO
G_VBO_FLAG = STATIC
N_LAG_COMPENSATION = true
N_IGNORE_SAVED_UPLINK_CREDENTIALS_IN_SINGLEPLAYER = true
N_SERVER_TIME_UPDATE_FREQUENCE = 2000
M_TEXTURE_PACK_CONFIG_TOOL = ./data/textures/block/Default/64/
G_MULTI_SAMPLE = 2
M_MOUSE_SENSITIVITY = 0.5
G_HIT_INDICATION_SIZE = 1.0
F_BLOOM = false
F_BLOOM_INTENSITY = 1.0
S_MOUSE_LOCK = true
G_DRAW_ADV_BUILDMODE_BLOCK_PREVIEW = true
G_DRAW_ALL_CONNECTIONS = false
G_SHOW_PURE_NUMBERS_FOR_SHIELD_AND_POWER = false
S_FLIP_HOTBAR_MOUSEWHEEL_WITHOUT_CTRL = true
S_ZOOM_MOUSEWHEEL = SLOTS
S_MOUSE_SHIP_INVERT = false
S_MOUSE_ALL_INVERT = false
S_USE_REGION_SIGNATURE_TEST = false
G_PREVIEW_TO_BUILD_BLOCK_TEST = true
S_EXIT_ON_ESC = false
G_USE_HIGH_QUALITY_ACKGROUND = false
G_DRAW_POPUPS = true
G_USE_VBO_MAP = false
G_DRAW_JUMP_OVERLAY = true
G_MAG_FILTER_LINEAR_BLOCKS = false
G_MAG_FILTER_LINEAR_GUI = false
G_MAX_BEAMS = 1024
SEGMENT_REQUEST_BATCH = 1024
CLIENT_BUFFER_SIZE = 65536
ICON_BAKERY_SINGLE_RESOLUTION = 150
G_RAYTRACE_COUNT = 16
ICON_BAKERY_SINGLE_ICONS = false
G_MUST_CONFIRM_DETACHEMENT_AT_SPEED = 50.0
G_USE_SHADER4 = true
O_OCULUS_RENDERING = false
G_USE_VERTEX_LIGHTING_ONLY = false
CLIENT_TRAFFIC_CLASS = true
G_DRAW_SELECTED_BLOCK_WOBBLE = true
G_USE_TWO_COMPENENT_SHADER = false
A_FORCE_AUTHENTICATION_METHOD = -1
MIN_FFA = 2
B_UNDO_REDO_MAX = 30
N_ARTIFICIAL_DELAY = 0
SEGMENT_PIECE_QUEUE_SINGLEPLAYER = 32767
G_MAX_MISSILE_TRAILS = 2048
G_USE_OCCLUSION_CULLING = false
C_AUTOASSIGN_WEAPON_SLOTS = true
G_DRAW_NT_STATS_OVERLAY = false
CLIENT_CUSTOM_TEXTURE_PATH = ./customBlockTextures
SECRET = none
USE_OPEN_AL_SOUND = true
LIMIT_FPS_UNFOCUS = true
GUI_USE_DISPLAY_LISTS = false
USE_GL_MULTI_DRAWARRAYS = true
USE_GL_MULTI_DRAWARRAYS_INITIAL_SET = true
CHAT_CLOSE_ON_ENTER = true
A_FORCE_LOCAL_SAVE_ENABLED_IN_SINGLE_PLAYER = false
G_SHIP_INFO_ZOOM = 0
Java Version (32bit)

This Java instance does not support a 32-bit JUM.
Please install the desired version.

Java Version (64bit)

java version "1.7.0_01"
Java<TM> SE Runtime Environment <build 1.7.0_01-b08>
Java HotSpot<TM> 64-Bit Server VM <build 21.1-b02, mixed mode>

Event Timeline

AtraUnam updated the task description. (Show Details)Jul 29 2015, 12:11 AM
AtraUnam changed Affected Gamemode(s) from none/unspecified to Single and Multi.
AtraUnam set First occurrence (version) to v0.1932.
AtraUnam changed Reproducible from uncertain to Yes.
AtraUnam set Last tested (version) to v0.1932.
AtraUnam set Video Card Model to NVIDIA GeForce GT635M.
AtraUnam edited Detected video (Graphicsinfo.txt). (Show Details)
AtraUnam edited SMC-Report. (Show Details)
AtraUnam edited Serverconfig (server.cfg). (Show Details)
AtraUnam edited Clientconfig (settings.cfg). (Show Details)
AtraUnam edited Java Version (32bit). (Show Details)
AtraUnam edited Java Version (64bit). (Show Details)
AtraUnam added a subscriber: AtraUnam.
AtraUnam created this task.
AtraUnam raised the priority of this task from to Needs Triage/Unclassed.
Restricted Application added a project: Issue Navigation. · View Herald TranscriptJul 29 2015, 12:11 AM
AtraUnam set Task Type to Bug.Jul 29 2015, 7:28 PM
AtraUnam set Category to none/unspecified.
AtraUnam changed Last tested (version) from v0.1932 to 0.19349; build 20150728_232625.
AtraUnam set OS-Specific to No.
AtraUnam set Hardware-Specific to No.
AtraUnam set Video Card Vendor to uncertain.
AndyP claimed this task.Jul 30 2015, 11:52 AM
AndyP changed the visibility from "Custom Policy" to "Custom Policy".Jul 30 2015, 11:54 AM
AndyP changed the edit policy from "Task Author" to "Starmade (Project)".
AndyP changed Category from none/unspecified to Engine.
AndyP edited Serverconfig (server.cfg). (Show Details)
AndyP edited Clientconfig (settings.cfg). (Show Details)
AndyP triaged this task as Release Blocker priority.
Restricted Application added a subscriber: AndyP. · View Herald TranscriptJul 30 2015, 11:54 AM
AndyP removed AndyP as the assignee of this task.

Validated

Custom view policy:
Starmade & Author

(as this is an exploit)

will pull that to feedback, as we possibly need to split up the subreports and match them to existing exploit reports

AndyP claimed this task.Jul 30 2015, 11:56 AM
AndyP updated the task description. (Show Details)Jul 30 2015, 12:01 PM
AndyP updated the task description. (Show Details)
AtraUnam added a comment.EditedAug 8 2015, 5:56 PM

Am I supposed to split it up? I didn't because I wasn't sure if it was my job or someone else's.

Edit:
Just in case anyone wasn't clear, the reason all of these methods work despite the fix for Crusades method is as follows.

Crusades method involves converting a file from a ship to a station, this means the file has been edited. I would assume that the fix for this was to disallow files that had been flagged as edited.
The reason the fix doesn't prevent my method is because no files are actually edited, they are simply moved around withing the blueprint folders.

Also in regards to the fix for Crusades exploit, the game does indeed reject blueprints with altered meta data, but will still gladly accept blueprints with altered block data.

Edit 2:
A simple an effective fix would be to somehow reject blueprints containing files that have been moved to them. Having the mother ship meta-data call files directly by name as well as location coupled with flagging files that get their name changed should do the trick.

We got to check this in more detail, however we have enough stuff in the waiting line at the moment, so we may need a few days to process this further.

AndyP shifted this object from the S1 Public space to the Restricted Space space.Aug 11 2015, 11:36 PM
AndyP changed the visibility from "Custom Policy" to "Public (No Login Required)".
AndyP changed the edit policy from "Starmade (Project)" to "All Users".

@Megacrafter127

Is this possibly something you could look into?
I bet you have the most experience around file-editing, and can validate the issues a lot easier than the other testers.

Megacrafter127 added a comment.EditedAug 23 2015, 8:18 PM

The docked station, docked asteroid and docked planet exploits are all fixed by the fix for crusade's method, as the fix does not care how the files came to be, it only prevents the type of docked entities from being read from the files. If this can somehow be bypassed[except by disabling the fix in the server.cfg] it means that the fix for crusade's method is broken.

Regarding the multiple ships in 1 blueprint exploit:

  1. the player does not really gain anything, except some time
  2. there is no efficient way to prevent it, except hash-locking attached entities within blueprints[save a hashsum of them in the meta file next to the 'docked' entries, if the blueprint of the attached entity does not match the hashsum it is not spawned], however that can be bypassed by overriding the hashsum with the new hashsum.

Regarding the smd2 replacement edits:
The server does compare the list of required materials and the blocks on the actual entity, however the default diversion threshold is 0.1, which is 10%. If the check is over the threshold, the default action also is nothing, so the only indicator would be a popup message for admins upon spawning. Look in the server.cfg for:

  1. MODIFIED_BLUEPRINT_TOLERANCE
  2. AUTO_KICK_MODIFIED_BLUEPRINT_USE
  3. AUTO_BAN_ID_MODIFIED_BLUEPRINT_USE
  4. AUTO_BAN_IP_MODIFIED_BLUEPRINT_USE
  5. REMOVE MODIFIED_BLUEPRINTS
AndyP added a comment.Jan 12 2016, 4:53 PM

cleanup:

So this is not a concern if all settings are well chosen?
I do not see a left-over problem then.

It is only a concern if these settings do not work due to a bug, or if they can be bypassed by an exploit.

AndyP closed this task as Closed.Jan 15 2016, 9:44 PM

So, until there is a bug or workaround, we assume this is fixed.

Great. =)

Restricted Application edited projects, added Starmade; removed Issue Navigation. · View Herald TranscriptJan 15 2016, 9:44 PM
AndyP shifted this object from the Restricted Space space to the S3 Starmade space.Jan 15 2016, 9:45 PM
AndyP moved this task from Unclassed to Archived on the Starmade board.Mar 2 2016, 12:19 AM
AndyP removed a subscriber: AndyP.Dec 13 2016, 8:33 PM
Restricted Application added a project: Engine. · View Herald TranscriptMar 10 2017, 6:30 PM