Haven’t used Google compute, but I’d assume it has ssh access like any Linux server. So in that case you just take your build and compress it as a tar.gz file, SCP it to your server, then on the server you decompress it. To launch it you first set execute permissions on the executable. Then you can launch it with ./yourbuildname.x86_64 like any linux executable, or do it in the background like I mentioned comment #4.
If you’re using Windows you can create tar files with 7zip, compress the tar file to a tar.gz with the windows version of the command line gzip tool, and scp the file by getting PSCP. To SSH get a copy of Putty.
On linux you can decompress with gunzip command, untar with the tar command (I think you can tell it to uncompress at the same time as untar all with the tar command, but I’ve been in the habit of doing it as a 2 step process for so long I don’t really care to change my ways
), and you set execute permissions with chmod.
7zip is a GUI based tool, but everything else can be done with command line something like this below. (you can probably find a Windows port of the tar command line tool, I just haven’t looked)
On Windows: (you may need to add the file paths to the commands if they aren’t added to your path variable by their installers, and obviously I’m including a fictitious IP address which you replace with your server’s IP or hostname)
gzip mybuild.tar <---- Compress the tar file
pscp mybuild.tar.gz myusername@266.266.266.266: <------ Upload the tar.gz file, don't forget the colon at the end
On Linux after you SSH in:
gunzip ./mybuild.tar.gz <---- Uncompress
tar -xf ./mybuild.tar <---- untar the build
chmod +xrw ./mybuild.x86_64 <---- I'm adding all permissions here, but you probably only really need to set execute with +x
./mybuild.x86_64 -batchmode -nographics & <---- The ampersand means to run it as a background process, and don't forget to include the "./" at the beginning which seems silly if you're used to the command line in Windows, but is necessary here
To later kill your game server you can use the killall command by name, or the kill command to kill it by ID. But the best way is to build into your game a way for you to remotely tell your server to itself call application.quit.
Also note that people have their own favorite compression tools, or maybe GUI tools which implement traditional command line tools, etc. So there’s of course other ways of doing it. But tar.gz compressed files, using scp for file copying, and Putty to SSH into your server have been the standard approach with Linux servers for a long time.