r3dOutToLog("cmd: %d\n", argc);
for(int i=1; i<argc; i++) r3dOutToLog("%d: %s\n", i, argv[i]);
switch(argc)
{
default:
throw "invalid number of arguments";
case 6: // normal start
{
if(3 != sscanf(argv[1], "%u %d %u", &cfg_gameId, &cfg_hostPort, &cfg_creatorID))
throw "can't parse argv[1]";
if(!cfg_ginfo.FromString(argv[2]))
throw "Can't parse game info";
r3dscpy(cfg_masterip, argv[3]);
CkString ckGameName;
ckGameName.setString(argv[4]);
ckGameName.base64Decode("utf-8");
r3dscpy(cfg_ginfo.name, ckGameName.getString());
if(1 != sscanf(argv[5], "%d", &cfg_uploadLogs))
throw "can't parse argv[5]";
break;
}