catch and log all errors, to prevent the server from stopping in some environments

- bad user input is usually the result, eg setting a material on a block in a chunk that doesnt exist