In a distributed networking system, there are multiple types of servers like the state server, AI server, database server and so on. Each server type has a specific task and all servers will work closely together in the end.

The system is very flexible. It can be built to run from a single application instance up to a multi-machine multi-application setup for large scale networked games.

A very simple example of a server that would manage the basic state and AI server would instantiate the server repository and the AI repository parts as shown in the next sections.

AI-Server ShowBase

A special global variable used on the AI server is called simbase. This variable won’t be set automatically and has to be set somewhere at the beginning of your AI Server implementation. It has to be a ShowBase instance and also needs a variable named air to be set to an AI repository instance.

builtins.simbase = base
air = MyAIRepository()
simbase.air = air