def startService(textbuffer, port, welcome, statusbar):
    addText(textbuffer, APP_NAME, LOG_INFO)
    addText(textbuffer, _("Version ") + APP_VERSION, LOG_INFO)
    addText(textbuffer, _("Attempting to start server at port ") + str(port) + "\n", LOG_INFO)
    addText(textbuffer, _("Creating Factory"), LOG_INFO)

    factory = Factory()
    factory.protocol = RPG
    factory.textbuffer = textbuffer
    factory.statusbar = statusbar
    factory.clients = []

    addText(textbuffer, _("Saving welcome message..."), LOG_INFO)
    factory.welcome = welcome
    f = open(PATH_WELCOME_MSG, "w")
    f.write(welcome)
    f.close()
    addText(textbuffer, _("Setting up Users datastructure"), LOG_INFO)
    factory.users = Users()
    addText(textbuffer, _("Listening for incoming connections..."), LOG_INFO)
    reactor.listenTCP(port, factory)
    reactor.run()