Example #1
0
HTTPServer::HTTPServer()
{
  baseURL = "http://";
  serverHostname = "localhost";
  if (bz_getPublicAddr().size())
    serverHostname = bz_getPublicAddr().c_str();

  // make sure it has the port
  if (strrchr(serverHostname.c_str(),':') == NULL)
    serverHostname += format(":%d",bz_getPublicPort());

  baseURL += serverHostname +"/";
}
Example #2
0
std::string BZFSHTTP::getBaseURL ( void )
{
  std::string URL = "http://";
  std::string host = "localhost";
  if (bz_getPublicAddr().size())
    host = bz_getPublicAddr().c_str();

  // make sure it has the port
  if ( strrchr(host.c_str(),':') == NULL )
    host += format(":%d",bz_getPublicPort());

  URL += host +"/";
  URL += getVDir();
  URL += "/";

  return URL;
}
Example #3
0
void sendMapChangeMessage ( bool end )
{
  std::string message = "Map change!\n";
  bz_sendTextMessage(BZ_SERVER,BZ_ALLUSERS,message.c_str());

  if (end) {
    message = "Good bye!\n";
  } else {
    message = "Please Rejoin!\n";
  }

  bz_sendTextMessage(BZ_SERVER, BZ_ALLUSERS, message.c_str());

  if (!end) {
    bz_sendJoinServer(BZ_ALLUSERS, bz_getPublicAddr().c_str(),
                      bz_getPublicPort(), eNoTeam,
                      bz_getPublicAddr().c_str(), "Map change");
  }
}
Example #4
0
	bool getPushHeader(std::string &header)
	{
		bz_ApiString host = bz_getPublicAddr();
		bz_ApiString desc = bz_getPublicDescription();

		header += "&isgameserver=1";

		header+= "&host=";
		if (host.size())
			header += host.c_str();
		else
			return false;

		header += format("&port=%s",port.c_str());
		if (desc.size())
			header += "&desc=" + std::string(desc.c_str());

		if (mapFile.size())
			header += "&map=" + mapFile;

		// game mode
		header += "&game=";
		switch(bz_getGameType())
		{
		default:
			header +="TeamFFA";
			break;
		case eCTFGame:
			header +="CTF";
			break;
		case eRabbitGame:
			header +="Rabbit";
			break;
		}

		// team scores
		header += format("&redteamscore=%d",bz_getTeamScore(eRedTeam));
		header += format("&redteamwins=%d",bz_getTeamWins(eRedTeam));
		header += format("&redteamlosses=%d",bz_getTeamLosses(eRedTeam));
		header += format("&greenteamscore=%d",bz_getTeamScore(eGreenTeam));
		header += format("&greenteamwins=%d",bz_getTeamWins(eGreenTeam));
		header += format("&greenteamlosses=%d",bz_getTeamLosses(eGreenTeam));
		header += format("&blueteamscore=%d",bz_getTeamScore(eBlueTeam));
		header += format("&blueteamwins=%d",bz_getTeamWins(eBlueTeam));
		header += format("&blueteamlosses=%d",bz_getTeamLosses(eBlueTeam));
		header += format("&purpleteamscore=%d",bz_getTeamScore(ePurpleTeam));
		header += format("&purpleteamwins=%d",bz_getTeamWins(ePurpleTeam));
		header += format("&purpleteamlosses=%d",bz_getTeamLosses(ePurpleTeam));
		return true;
	}
Example #5
0
void Templateiser::keyCallback ( std::string &data, const std::string &key )
{
  if (key == "date") {
    bz_Time time;
    bz_getLocaltime(&time);
    data = format("%d/%d/%d",time.month,time.day,time.year);
  } else if (key == "time") {
    bz_Time time;
    bz_getLocaltime(&time);
    data = format("%d:%d:%d",time.hour,time.minute,time.second);
  } else if (key == "hostname") {
    data = bz_getPublicAddr().c_str();
    if (!data.size())
      data = format("localhost:%d",bz_getPublicPort());
  } else if (key == "pagetime") {
    data = format("%.3f",bz_getCurrentTime()-startTime);
  } else if (key == "baseurl") {
    data =baseURL;
  } else if (key == "pluginname") {
    data = pluginName;
  }
}