# all imports needed by the engine itself from direct.showbase.ShowBase import ShowBase # all imports needed by the server from direct.distributed.ServerRepository import ServerRepository from panda3d.core import ConfigVariableInt # initialize the engine base = ShowBase(windowType='none') # the main server class class GameServerRepository(ServerRepository): """The server repository class""" def __init__(self): """initialise the server class""" # get the port number from the configuration file # if it doesn't exist, we use 4400 as the default tcpPort = ConfigVariableInt('server-port', 4400).getValue() # list of all needed .dc files dcFileNames = ['../direct.dc'] # initialise a threaded server on this machine with # the port number and the dc filenames ServerRepository.__init__(self, tcpPort, dcFileNames=dcFileNames, threadedNet=True) # start the server GameServerRepository() base.run()