I was wondering if it's possible to have my (Vanilla) Minecraft server not actually start running until someone tries to connect to it? I have full access to the entire server (It's an old computer of mine) and the router/internet. Failing that, how do I make a button on my nginx site to say "start the mc server"? I'm running Ubuntu 14.04
This is possible but you will need a small program listening on the game server's socket and if it receive any data it will then start the server. But the actual game server will need time to start, so the first login attempt on the client will fail as it will time out. When the server has start they will be able to login successfully. I don't know any existing program for that purpose but it wouldn't be that hard to develop.
I guess you can't, but you could tell your friends the schedule of when the server is going online, or either just keep it online all day (If you don't mind wasting energy) except when you guys are sleeping. Another way is just buy a realm or host a server by an official site, then your server would be 24/7 without you really having to worry about it.
I think this is not possible from Minecraft, just because you cannot even ping offline server (in multiplayer menu), so how would you do some extra communication?
Probably the best solution would be to have some web application or SSH connection, where legit users of your server (so they know password or so) can connect and send to your computer some commands...with Ubuntu it could be not hard to allow usage of only one command / privileges to run only one file in exact folder -> starting script for server...then your players will just run it (and you have to not forget to implement safety check to do nothing if server runs already) and server will start in a minute.
However computer still needs to be online all the time, so why not keep MC server online, too? Server running without players has only quite low RAM usage and nearly none CPU usage...but no worries how to start it :P