Actually you don't "have" to handle any of those. But of course it would be nice to provide the ip address of the server if in remote mode.
You cannot guarantee that the assessor will "Unzip" your submission ino the root directory. However, your code should be able to run in whatever directory the assessor puts it in.
If you used System.getProperty(user.dir). That is all you really need to handle that.
As far as codebase parameter, that is a valid command line entry, and if your code needs it then you need to explain to the assessor how to type that into the command line.
I didn't need this as I had executable jars so the classes knew where to look.
Mark