40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
import json
|
|
import socket
|
|
import threading
|
|
from Classes.System.GameManager import GameManager
|
|
|
|
from Classes.System.Network.NetworkManger import NetworkManager
|
|
from Classes.System.PlayerManager import Player
|
|
from Classes.System.World import World
|
|
from Classes.System.Logger import Logger
|
|
|
|
class Server:
|
|
|
|
__address:str
|
|
__tcpPort:str
|
|
__udpPort:str
|
|
__world:World
|
|
__gameManager:GameManager
|
|
|
|
networkManager:NetworkManager
|
|
|
|
def __init__(self, address:str, tcpPort:str, udpPort:str, logger:Logger):
|
|
self.__address = address
|
|
self.__tcpPort = tcpPort
|
|
self.__udpPort = udpPort
|
|
self.__world = World()
|
|
self.logger = logger
|
|
|
|
self.logger.info("starting up game manager")
|
|
self.__gameManager = GameManager(logger)
|
|
|
|
self.logger.info("preparing to start server")
|
|
self.startServer(self.__gameManager)
|
|
|
|
# handles starting the server and assigning socket values to the local reference
|
|
def startServer(self, gameManager:GameManager):
|
|
self.logger.info("starting up network manager")
|
|
self.__networkManager = NetworkManager(self.__address, self.__tcpPort, self.__udpPort, gameManager)
|
|
|
|
def getNetworkManager(self) -> NetworkManager:
|
|
return self.__networkManager |