Lots of optimisations:
Error message if player search is false.
Player search will query database if not found in cache.
Player.get() can be used with player_id or player_name as param.
If successful player search it will save it to cache.
Creating Server factory which contains server info, config, vocations.
Creating player will fetch valid available vocations when supplimenting vocation list.
Player profile will show vocation name instead of id as profession.