powertac/powertac-server — Issue #485: Need to re-think how brokers get info on server config.
Author: jecollins
Created: 2012-01-31 16:31:52+00:00
State: open
Labels: Game Design, Server environment

Currently, the bootstrap data sent to brokers includes the Competition object and a bunch of PluginConfig instances. These are supposed to contain all the public information on server and game setup. The Competition is well-defined and presumably easy to interpret, but the PluginConfig instances are just attribute-value pairs (Strings) that have no documented interpretation.

With the new configuration design, the PluginConfig scheme will disappear completely. I have already updated accounting and auctioneer to the new scheme, so they no longer create or use PluginConfigs. The source data for the configuration is readily available in the form of a Configuration instance, which could easily be sent to brokers, but there is currently no way to distinguish public from private attributes in the configuration, and a big chunk of it duplicates what's in the Competition.

Since the Competition data is in the Configuration, we could potentially just send the Configuration to brokers, without the Competition. All that would be needed is a way to filter out the private info. How to do that in a clean way is currently a puzzle.