LUTE: Server

  • Area: WP6
  • Contributors: University of Bournemouth, University of Southampton
  • Key Contact: David Millard (dem@soton.ac.uk)
  • Date: Mar 2025

See also: LUTE Framework

What is the LUTE Server?

The LUTE Engine allows mixed reality games to be created easily within the Unity environment. It is a powerful flow engine and set of components, but is focused on single player experiences. The LUTE Server extends LUTE with multi-player functionality by providing a server application that can be used to exchange information between game instances. In this way player choices can impact on other players, and player creations can be shared. It is a flexible system that enables sharing across multiple games and game instances, with a simple administrative front end to enable games to be registered and usage data to be accessed.

Technical Details:

The LUTE Server is a .NET 8 Web API with an Admin Web Interface, that can handle user authentication, game data management, shared variables, and logging. It supports JWT-based authentication and data synchronisation between different Unity clients and the server.

Fig 1. Shows the process of initiating a session and the main logging loop. When the player starts off the game, they are given a session and then sent all the needed shared variables. If logging is enabled, logs will periodically be sent to the server when internet connectivity allows it.

Figure 1: Sequence Diagram showing session initiation and logging.

Fig 2. Shows the LUTE Server system architecture. Players use the Unity Game to communicate with the server, in order to send and receive shared variables, as well as logs. Admins can use the Admin Dashboard to access the database, make changes, create games, and look at logs.

Figure 2: The LUTE Ludonarrative modules cover dialogue, characters, inventories, quests/achievements, and creative canvas’.

Finally, Fig 3. Shows an example of interactions that occur in a multi-player game. In this case, two players play the game. The first user starts first and creates a simple “stone” that then gets sent to the server and saved in the database. When the second player starts the game, the server will automatically send the previously created stone to the new player so they can view it.

Figure 3: Multi-User Interaction

“The LUTE server enables us to do some subtle asynchronous interactions between players. In our Avebury case studies we get players to create their own standing stones, and the server allows us to share these with other players, so that when a person is exploring they encounter the creations of others – creating the sense of a shared space and experience.”

Prof. David Millard (University of Southampton PI)

See also: LUTE Framework

The LUTE Team is:

Dr Jack Brett – Lead Engineer
Dr Charlie Hargood – Academic Investigator and Architect
Dr David Millard – Academic Investigator and Architect
Dr Yoan Malinov – Engineer
Dr Bob Rimmington – Qualitative Researcher