About RSMT
Learn about the development of the Rust Server Management Tool here.
The Goal
- A simple to use, commandline-less tool.
- When creating the Rust Server Management Tool, the goals were clear:
To feature a non-negotiable GUI (graphical user interface) and to autonomously install a Rust server with minimal effort, requiring little knowledge of command-line syntax for either SteamCMD or the Rust server itself.
The Development
The development of RSMT began as a personal project born out of frustration with existing tools.
Actual development started in 2018, when I found a bug that's persisted since, that allows you to utilize Steam, to gain access to Rusts MTX (micro-transactional) items for free.
From here, I decided that I would release a universal tool used for anything Rust related for the playerbase.
and now here we are.
The Developer
I'm just a simple man. I like playing video games. I dislike Windows 11 but I'm forced to use it, poorly-made-paid software, AI being shoved down everyones throats (seriously, who the fuck put AI in grocery store self-checkouts), Total Characters: 3,212
Nature Valley crunchy granola bars, and having to deal with absurdly long server startup commands.
🥀🥀🥀🥀
RustDedicated.exe -batchmode -nographics +ai.npc_families_no_hurt "false" +ai.npc_max_junkpile_count "45" +ai.npc_max_population_military_tunnels "15" +ai.npc_use_thrown_weapons "false" +baseboat.do_shore_drift "true" +baseboat.drift_speed "0.10" +baseboat.seconds_between_shore_drift "0.10" +baseboat.seconds_until_shore_drift "0.10" +basefirework.maxactivefireworks "30" +basefishingrod.forcesuccess "true" +basefishingrod.immediatehook "true" +bear.population "6" +bigwheelgame.spinfrequencyseconds "15" +bike.motorbikemonumentpopulation "1" +bike.pedalmonumentpopulation "0" +bike.pedalroadsidepopulation "0" +blackjackmachine.maxbet "5000" +boar.population "4" +bradley.respawndelayminutes "5" +bradleyapc.usesmokegrenades "false" +cargoship.dock_time "1440" +cargoship.egress_duration_minutes "1200" +cargoship.event_duration_minutes "1800" +cargoship.event_enabled "true" +cargoship.loot_round_spacing_minutes "2" +cargoship.loot_rounds "15" +cargoship.refresh_loot_on_dock "true" +cargoship.should_dock "true" +chicken.population "0" +crocodile.population "4" +decay.bracket_0_costfraction "0.015" +decay.bracket_1_costfraction "0.015" +decay.bracket_2_costfraction "0.015" +decay.bracket_3_costfraction "0.015" +decay.outside_test_range "150" +decay.scale "0.5" +decay.tick "1200" +decay.upkeep_heal_scale "5" +decay.upkeep_inside_decay_scale "0.001" +decay.upkeep_period_minutes "2880" +env.nightlight_brightness "0.0325" +env.nightlight_distance "20" +env.nightlight_enabled "true" +env.redmoon "true" +env.year "2307" +fps.limit "240" +hackablelockedcrate.decayseconds "3600" +hackablelockedcrate.requiredhackseconds "5" +heli.bulletaccuracy "0.025" +heli.bulletdamagescale "0.025" +hotairballoon.population "0" +ioentity.infiniteiopower "true" +legacyshelter.max_shelters "3" +metaldetectorsource.population "1200" +modularcar.population "2" +motorrowboat.population "2" +panther.population "4" +physics.gravity "0.95" +planterboxstatic.favourablegenechance "0.90" +playerinventory.forcebirthday "true" +polarbear.population "4" +radiation.materialtoradsratio "0" +rcon.password "letmein" +rcon.port "28016" +rcon.web "true" +rhib.rhibpopulation "2" +ridablehorse.dungtimescale "2" +ridablehorse.population "2" +sentry.hostileduration "5" +server.anticheattoken "0" +server.artificialtemperaturegrowablerange "10" +server.autouploadmap "false" +server.botcount "90" +server.cycletime "2400" +server.debrisdespawn "3" +server.description "My Modded Rust Server" +server.eac "0" +server.encryption "0" +server.foodspoiling "false" +server.hostname "My Modded Rust Server" +server.identity "server1" +server.level "Procedural Map" +server.logoimage "" +server.max_sleeping_bags "5" +server.maxplayers "10" +server.motd "welcome to my modded server" +server.planttick "10" +server.planttickscale "10" +server.port "28015" +server.radiation "false" +server.saveinterval "300" +server.secure "false" +server.seed "83463426" +server.sprinklerradius "10" +server.strictauth_eac "false" +server.strictauth_steam "false" +server.tags "Modded" +server.workbench1taxrate "0.05" +server.workbench2taxrate "0.05" +server.workbench3taxrate "0.05" +server.worldsize "1500" +snakehazard.population "4" +spawn.max_density "3" +spawn.max_rate "3" +spawn.min_density "3" +spawn.min_rate "3" +spawn.population_cap_rate "300" +stag.population "8" +tiger.population "4" +traincar.population "4" +traincar.wagons_per_engine "7" +travellingvendor.alive_time_seconds "1440" +travellingvendor.attempt_pullovers "true" +travellingvendor.max_speed "4" +travellingvendor.should_spawn "true" +weather.clear_chance "0.5" +weather.dust_chance "0.5" +weather.fog_chance "0.5" +weather.overcast_chance "0.5" +weather.rain_chance "0.5" +weather.storm_chance "0.5" +weather.wetness_rain "0.5" +weather.wetness_snow "0.3" +wolf.population "4"
In all seriousness, the program evolved from a basic PowerShell GUI with .NET and custom .DLL assemblies into a C# 5 application built on .NET/ASP. It now leverages WebSockets for installations, and XML serialization for the backup system, and I learned C# in a short period of time over a year staring at a screen on why hello world wont fucking load
i also did not use visual studio, i used notepad, csc compiler, online pdfs (ie, c# 5 for dummies), ai (scary as fuck), indian tutorials at 2am, stack overflow, github, and the world wide web.
The tool was created with main focus for win7/10/11 but with additional support on wine for macos.