The way it is right now definitely adds confusion, so i would argue that this cant really be “working as intended” in my opinion. I do realize it might be a decent chunk of work to fix it properly or duct tape it, but i think it would really add to understanding where signals come from, even if its something for the far future.
Another possible option for this would be making relays configurable, where in the edit-component-menu you could then invert its behaviour, giving you a NC relay. That way you can still easily have lots side by side and stacked ontop of each other, without having pins block other pins.
This feature would allow for all sorts of new and interesting designs
in what stage is that in? When starting the game. when loading a world, or when connecting to a multiplayer server, or somewhere else?
Another typo inside settings_master.succ: MHG.Flying.Secret.StartWithNolcipEnabled: false notice the “Nolcip”
I’d say zip-only: Having it automatically grab the code from github would come with a few issues: Some changes in the git repo would trigger a new build, even though only documentation changed. How does LogicWorld.net know where the actual mod structure is located? Some files should be excluded from the downloadable mod (e.g. Readme.md, and some other files that are solely for development)
I think a zip upload would be best, possibly even with an API for that. Then people that want it to be automatic can set up a github actions thingy, or just have a script locally. This would however require the website to support tokens though, since username and password isnt very nice in scripts
Additionally, from a safety standpoint: In case github sync would be a thing, anyone that has write access could put in malicious code. and the owner cannot do anything about it if deployment is automatic.
i threw it into a codeblock so it should be good now
Just gonna copy my guide into here as per Jimmy’s request: (Its about installing the LW dedicated server using steamcmd on ubuntu, but it will also work using other distros most likely.) If there are any issues, message me on the LW discord (@GHXX). I hope it helps.
# update package repositories and packages sudo apt update && sudo apt upgrade # install the following packages sudo apt install steamcmd screen # and optionally, using apt again you can install ufw which lets you easily open ports. You can use something else too of course. sudo apt install ufw #now create a steam user (you can just hit enter to skip entering the details, and also you can skip setting a password, but that it up to you): sudo adduser steam #now switch to the steam user (it is important that you do not switch the user back. Also, do not prefix any of the following commands with sudo): sudo su steam # set the current directory to the /home/steam directory cd mkdir -p /home/steam/logic_world/logic_world_ds/ # be sure to replace STEAM_USERNAME_HERE in the following command, and further below with your steam USERNAME that owns logicworld steamcmd +force_install_dir /home/steam/logic_world/logic_world_ds/ +login STEAM_USERNAME_HERE +app_update 1252670 validate +quit ln -s /home/steam/logic_world/logic_world_ds/GameData/ /home/steam/logic_world/GameData nano /home/steam/logic_world/config.succ "--> set the following settings: (optional) MOTD (recommended and sometimes required) InternetProtocolOverride: IPv4 -------- (optional, format layout may be very specific:) -------- (A word of warning: If you set verified mode to false, anyone can choose their username freely!, therefore you should really really set a password!!) VerifiedMode : false Admin_IDs: - PlayerName1 UseWhitelist: true Whitelisted_IDs: - PlayerName1 - PlayerName2 -----------------------------" #now save and close the config file (ctrl O to save, ctrl X to close) #then create a start script using the following line: printf "#/bin/bash\n\nscreen -L -m -d -S lwserver /home/steam/logic_world/logic_world_ds/Server\n" > ~/start_lw_server.sh chmod +x ~/start_lw_server.sh and create an update script via printf "#/bin/bash\n\nsteamcmd +force_install_dir /home/steam/logic_world/logic_world_ds/ +login STEAM_USERNAME_HERE +app_update 1252670 validate +quit\n" > ~/update_logic_world_server.sh chmod +x ~/update_logic_world_server.sh #-- optional, create an autostart entry using crontab -- crontab -e #then choose a text editor (the easiest is probably nano) #and enter the following line at the bottom, followed by a newline (make sure the line does NOT start with #): @reboot /bin/bash ~/start_lw_server.sh #You can now log out of your steam user again if you want. #-- forward ports -- #likely you will need to forward ports. Using ufw it is as simple as running the following command: ufw allow 43531/udp # the firewall rule takes effect immediately, and is persistent across restarts # if you are using iptables, you will need to use iptables-persistent or something else to save the rules across restart
possibly it would work to not allow modifying existing versions, but allowing deleting bad ones. So if you mess something up, you delete the current one and make a new one, which then has a different version number for immutability reasons, but nobody can get the broken one anymore