@Override
	public boolean startServer(int portNumber)
	{
		boolean retVal = false;
		if(currentServerMain == null || currentServerMain.isStopped)
		{
			try
			{
				currentServerMain = new ServerMainThread(portNumber, this);
				currentServerMain.start();
				Logger.logInfo("Started server thread on port:"+Integer.toString(portNumber));
				
				PortalServerInfo toPush = new PortalServerInfo();
				toPush.serverNetworkName = InetAddress.getLocalHost().getHostAddress();
				toPush.serverNetworkPort = Integer.toString(portNumber);
				toPush.preferenceInfo = this.serverPreference;
				if(PortalCommunicator.updateServerInfo(toPush))
				{
					Logger.logInfo("Successfully pushed server info to the portal");
				}
				else
				{
					Logger.logError("Problem occured while trying to push server info to portal");
				}
				retVal = true;
			}
			catch(Exception e)
			{
				Logger.logException("Error occured while trying to start main thread", e);
			}
		}
		return retVal;
	}