1. You can't store ALL your game events nor variables on the server, there must be some interaction on the client side which involves variables and events, Even a server side game would contain no more than 5% of the game code running on the server i would guess...
2. Yes, you can check the internet connection, to prevent the user playing by cache or downloading the game locally. Technically everything is on the server, but it must be send to the client and therefore become clientside.
3. This is a basic task and i suggest you start here, don't focus on your game running on server side until you have a better understanding what that really means. To get started here, you'll need to setup a way for your game to contact the server and send the player's name and high score. Once the score is received i suggest you save it into a file that is plain text, csv, json or xml (don't bother with a database for this). Also if you don't already know a server side language such as php, that is probably the best place to start.