-
Notifications
You must be signed in to change notification settings - Fork 110
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DISCUSSION] Rust Server v2 (feedback requested) #64
Comments
An upgrade path for existing servers. Other than that, the web UI doesn't support HTTPS. |
Upgrade path/migration sounds good! Last I checked, Rust itself doesn't support |
Thanks!
I currently run a nginx reverse proxy in "front" of the container. The nginx does SSL termination, so the container should not care about the SSL (handled by the reverse proxy). My assumption is that the problem is in the Later edit: I'm not sure where this is coming from (if it's this container or Rust itself), but having the password in the path sounds like a bad idea. The password will end up in the access logs, in plain text. |
Last time I tried it, I used Traefik + Let's Encrypt to implement SSL for it, and while the web app itself was secure, the websocket connection was not (with the websocket protocol replaced, it just failed the connection). As the web UI is an old proof-of-concept by Garry himself, it might make more sense to just create a new one from scratch, otherwise we'll need to maintain an up to date fork of it. Regarding the password in the path, that's unfortunately how it's implemented in the Rust server itself. Not sure if there are alternate means though, such as passing it in the header. |
I have no experience with Traefik, but it sounds like the port 28016 wasn't doing proper SSL. I need to run more tests, but I've seen this work in other places (here + issue) Later edit: |
What we have now is really good but just a few changes:
|
@Hardcore-fs you can already 1) do that by using Since 1) it's doable, 2) already works the way you want. |
You are confused..... to all the text , carriage returns & HTML you would need, FIRST TIME so that the server can accept it, without spending 10 minutes shutting it down, cleaning it up &before you can be trying again..... |
Sorry I misunderstood you. |
A nice thing would be a web admin for the Rusts containers (a bit like https://www.portainer.io/ does for regulars Docker containers) We could manage all our Rusts containers from a web app, edit seed, description, etc |
Many of the commercial services already offer this..... |
Please add wipe schedule with options such as BPs etc. |
Add the possibility to enable/disable more extensions (with auto updates): These are extensions (not plugins) and enable more customisation for server owner and for plugins developer. As a plugins developer it would be perfect have these extensions integrated by default and autoupdated like uMod. I'm not developer, I only develop Rust Plugins but I made a small MS-DOS script that could help you to add these extensions. My script also add a plugin updater: a simple txt file that contains some plugins name from uMod to update them at launch. It's great for important plugins like anti-cheat, debug plugins, ...
|
Sounds like a great idea! I'm a bit out of the loop as to how Rust works nowadays with uMod, but since these extensions require uMod, wouldn't that automatically flag the server as a modded server? |
These extensions requires uMod and, because of uMod, your server will be listed as Modded but you can ask to Facepunch to move your server to the Community section if your server respects the guideline.
Theses extensions doesn't modify the game, they only add the possibility to customize the server deeper.So you'll need to install and update theses extensions only if uMod is installed and if the user want theses extensions.
Enable uMod: True/False
- Enable Rust:IO: True/False
- Enable Discord Extension: True/False
- Enable RustEdit: True/False
|
it aint gonna work...... easily.., please keep the system clean. Currently there is a battle between various factions... over rust plugins some have dependencies on other plugins, unload the wrong one & you start abending other plugins. Also these extensions DO modify the game. or at least the game play, load a bad one and the interactions can easily cascade... so then you need a system that unloads them all and is capable of swapping them in & out live. (think like conflict catcher on the old mac os7) You can Easily waste several hours with this garbage...... (and different versions) The only way currently is some OS infrastructure OUTSIDE of rust, but then you have issues with intercommunication between where you store the plugins,data and other related stuff. Say for example you run your containerized "rust" with an external system for file storage, that means you have a process inside the container, trying to load & dick about with items outside of the container at an OS level..... I already put a lot of thought into how I can make my life easy on this stuff,.. without it getting massively out of hand... so that above script, won't work reliably...... cos u only gotta have those "curls" in the wrong order to take the server down & people to loose all thier game shit.... |
I understand you point of view about conflicts and others but I suggest to allow us to enable/disable each extensions. Personally, I use this tool to develop plugins on my Macbook and it could be really useful to have an updater that will do that for me. My script suggestion is just an example, as I said, I'm not developer, I just made this script to help me but curl is probably not the best way to integrate it in a container. @Dids has more knowledge than me, he probably know how to do it better. What the problem of adding the possibility to add extensions? If you don't need them, don't enable them, that's all. But a good point to mention, if I enable the extensions then choose to disable it, don't forget to check if the file exist and if it exists, delete it because it will stay there and run if not deleted. From what I see, the developer of Discord extension is the developer of RustEdit and he is a well know developer of uMod plugins. Then Rust:IO is an extension that is use by MANY servers. The idea isn't integrating these extensions by default but allow user of this tool to easily manage extensions. |
I would like to suggest to add new commands: - wipeall [restart]: Delete all files in the server directory except companion.id and the cfg folder.
- wipemap [restart] : Deletes all .map & .sav.
- wipebp [restart] : Deletes bp files. These commands shutdown the server, execute the command then restart if set. |
I'm all for stuff that makes my life simpler... I also develop on a mac....(and yep RUST, but my plugins are only for private use/sale), I use containers, VM, K8S extensively.... it has to work reliably across MULTIPLE platforms & not clutter things up or make it harder to understand. Also.... I think you have not looked at all cases..... EG( welcome , & kit settings, Copy & paste bldings, multi-lingual files) we STILL come back to HOW it would handle interdependency/load order......... I'm not clear WHY you would put this inside the container when it is all external FS related..... |
Add a SSH and FTP access. |
also add option to generate random seed / provide manual seed. |
Use https://pterodactyl.io/ instead of the current rcon console. |
not only is the demosite mostly broken.., |
For Community vs Modded it's a setting within oxide. (Within oxide.config.json) I feel strongly that updating extensions and plugins is out of scope of the container. https://pterodactyl.io/ could be run in another container if required and I feel is out of scope? Wipe schedules are quite tricky and I've been working on solving this myself, but time is very odd. An App to manage wiping sounds a like something worth exploring, not sure if you'd do it based on creation of the container or triggering it externally, or even as an exec. At the moment I destroy the container, delete the relevant files then recreate the container. |
What I'm currently working on and I hope to complete this week is heartbeat for the server so it detects hangs (where the server crashes but doesn't actually exit, leaving the server unresponsive) and support for custom maps. |
already did this years ago...
You cannot automate wipes & updates of modded servers, becasue of the nature of rust. i'd watch out for "Pterodactyl" it seems to be getting polished ready for switch over for pay per use model. |
Please post ideas and suggestions regarding this Rust Server image here.
The plan right now is to rewrite this entire image from scratch, with much more customizability and more unique features, but still providing the core features of the image, such as automatic updates, Oxide/uMod installation and built-in RCON support (included RCON web-interface is still under consideration).
At least the following more or less major changes would be happening:
The text was updated successfully, but these errors were encountered: