Question Private FTP access to a specific folder?

Ironarmygeneral

Distinguished
Jan 21, 2015
309
2
18,815
Hello guys. I'm posting this in the Windows 10 section because that's the OS I'm using so I felt it was relevant.

<Mod edit: Moved to "Networking">

OS = Windows 10

So, I am currently working on building a Minecraft server bungeecord network. I am, at the moment, working on hiring staff. Currently I have a couple of devs/admins (these are people I know).

Basically, we aren't open to the public yet, so until we are ready and to save hosting costs, I am hosting it all on my own hardware. The problem is, I don't know of any good or possible way to give the admin/development staff access to the folder(s) that the network is located in to not only be able to make changes, setup plugins, etc, but to allow them to open/close and control the server consoles. (This is a bungeecord network with five servers and a proxy/bungeecord server). Obviously this would be a temporary issue because once we are ready to launch, we can move to a hosting service and I can just give them permissions to be able to access certain things on the network like they should.

Is there any way that I can do this safely? Obviously I'd only want to give them access to the single folder everything is in and I make backups daily in a folder outside of the one the network is in so if anything goes wrong I can just restore it and we'd only be set back a day at worst.

A second part of that question is, is the best way to do that (at least for accessing the files) an FTP share, or is there a more efficient way to do it that's easier to navigate, read/write, and edit files in?

Thanks guys.
 
So I know nothing about minecraft servers and what restrictions they place on you....can you for example backup/change files file the software is actually running. Things like a database for example have a ability to allow a clean backup even if the file is being changed while the backup is reading the file.

I would not use FTP unless that is how it is done on hosting servers. File sharing is the key reason people buy microsoft server license. It has a massive amount of very detail rules about who can access what files etc. I have not worked with this in years but I would suspect that as popular as this is the hosting center would have some way to support it. Not sure this is more for a common business application but you would think a game server is not that different.
 

Ironarmygeneral

Distinguished
Jan 21, 2015
309
2
18,815
So I know nothing about minecraft servers and what restrictions they place on you....can you for example backup/change files file the software is actually running. Things like a database for example have a ability to allow a clean backup even if the file is being changed while the backup is reading the file.

I would not use FTP unless that is how it is done on hosting servers. File sharing is the key reason people buy microsoft server license. It has a massive amount of very detail rules about who can access what files etc. I have not worked with this in years but I would suspect that as popular as this is the hosting center would have some way to support it. Not sure this is more for a common business application but you would think a game server is not that different.
As far as the MC servers go, changing files in the server while it is running depends on the thing you're trying to do. For example, let's say I'm changing something in the config.yml file for one of the plugins. I can change anything I want in there when the server running. How the plugin and server reacts varies on the plugin. Some plugins may require a restart of the server for the changes to take affect. Some plugins may have a built in "reload" command you can use to reload it (basically restarts that particular plugin ONLY without having to restart the server but it is usually not recommended to do so.) Some plugins actively check the config.yml file for changes and apply them immediately.

Hosting services that you actually purchase online actually almost always have their own file system GUI for your server you can access on your server's control panel, and also have a build-in console you can use. Obviously that doesn't matter much to me at this time because eventually when our server is ready for public deployment we will probably be using a hosting service, mainly for the fact that it's easier to get a dedicated IP/domain name this way and it's easier to give your administration staff access to the server backend to do their jobs.

So I guess to make my original question simpler, basically what I am trying to do is something similar to what a hosting service would do (access to console, server files, etc) but from my own hardware. This would only be a temporary solution though so as long as whatever method we come up with works, that's good enough for me.

The console issue wouldn't be as big of a deal, due to the fact that our Discord server has a channel that embeds the server console into it and you can run commands inside of it through Discord, however you cannot START the server with it. Once you run the STOP command in the console to stop the server, I have to manually close the console window and open the run.bat file again. So basically if an admin issued the STOP command in the Discord smchannel for the console, they can stop the server, but once it's shut down you have to actually open the file again. Obviously you can't do that with an FTP share because FTP would only allow you to read/write to files, not run them.
 
Again unless you want to write your own custom software for this I would use microsoft servers. They have something called group policies that allow you set rules for example that only certain users can stop and start certain processes on the server. I used to know a little bit about this but microsoft server admin is a very specialized
field and i did more pure networking stuff.
 

Ironarmygeneral

Distinguished
Jan 21, 2015
309
2
18,815
Again unless you want to write your own custom software for this I would use microsoft servers. They have something called group policies that allow you set rules for example that only certain users can stop and start certain processes on the server. I used to know a little bit about this but microsoft server admin is a very specialized
field and i did more pure networking stuff.
Right but doesn't Windows Server (OS) cost a pretty penny? If that's what you're talking about, it would be easier and cheaper for me to just throw my servers onto a hosting service, which again I'm trying to save on those kinds of costs until we are ready to deploy.
 

Ralston18

Titan
Moderator
I suggest using Powershell.

FYI:

https://docs.microsoft.com/en-us/powershell/scripting/samples/managing-services?view=powershell-7.2

https://techgenix.com/manage-windows-services-using-powershell/

https://theitbros.com/get-service-powershell/

You can easily find, other similar links with cmdlets and script.

Files and folders:

https://docs.microsoft.com/en-us/po...ng-with-files-and-folders?view=powershell-7.2

https://shellgeek.com/powershell-how-to-get-permissions-on-folders-and-subfolders/

And many cmdlets can be simply copied and pasted into Powershell (run as Admin) via the PS> command prompt.

Test environment recommended.

With multiple, full backups proven recoverable and readable. (Which you should be doing anyway.)

The key is to carefully layout the requirements regarding, hosting, access, starting, stopping, security, backing up, etc..

Basically a checklist of all the things you want to do. Then working out the cmdlets, script, and processes that are tactically required - the "how".

Prioritize the checklist as applicable.

I recommend initially using smaller, simpler cmdlets and scripts that are easy to understand and implement versus some massive "try to do it all" script with all sorts of logic (IF, THEN, ELSE) being applied. More advanced scripts can be set aside until things are all in place and running smoothly.

And bear in mind that many companies simply plan in downtime for server maintenance: fixes, updates, backups, etc.. And most user communities are willing to accept that especially when the work outage is announced in advance and actually done outside of normal business hours.

No fun burning the proverbial "midnight oil" but there are advantages to doing so.
 
Not sure if it is actually cheaper but the reason almost every big company has gone to cloud/hosting it to cut its IT cost. I would assume the license for the server is only a small part of that.

You have to compare it to the costs to have custom software written even if you have to spend your time doing it. A FTP server will solve to some extent the file sharing part if you have fairly simple security requirements. The command part could be a simple web server with a bunch of buttons that you click
that can issue certain commands. If you do not create buttons for other commands then the user can not issue those. This actually is a very simple web server BUT how much background do you have in writting a web serer allow with the hassle of creating some system of userid/password to give different levels of access.

There is a huge difference between a real company and some guy in his basement with big ideas.