Information Technology Reference
In-Depth Information
The virtual client retrieves a message containing the configuration of the server
on connection. This is used to create a local shadow copy of the game server, with
the same loaded map, entities and configuration. The entire procedure utilizes a
modified version of the local server initialization process from the original single
player mode.
Once the shadow server is initialized, it sleeps approximately a second to
synchronize the shadow server with the game server. The received data from the
game server contains the initial position and view angles of the client, which is
used to add a bot to the shadow server at the exact same position. The bot library
enables the interaction of bot entities with the map. The bot's commands are
transmitted to the shadow server in the same way as connected regular clients.
All commands are processed in a server function that takes a given command as
a parameter. The function is modified to enqueue the received command in the
client's command queue. The engine notices the new command in the client queue
and immediately transmits it to the game server. Updates from the game server
are forwarded to the shadow server by copying the player and entity states from
each received update into the bot and entity structures of the shadow server.
3R su s
To evaluate how the virtual clients affect the server, we ran an experiment with 0-
48 virtual clients connected to a single, unmodified Q3A server. Figure 1 shows
the server's network load. The server's Data in graph shows that bandwidth
increases proportionally with the number of clients. Data out increases quadrat-
ically because each client needs updates from all the other clients within its view
area [4]. Figure 2 illustrates server CPU and memory utilization. CPU utilization
increases until it reaches approximately 71% with 21 connected virtual clients.
The server starts to struggle since the operating system needs to share its pro-
cessing capabilities with other processes. Memory usage remains constant as the
Server with 0-48 Connected Virtual Clients
Data in (kb/s)
Data out (kb/s)
900
CPU (%)
Memory (%)
90
800
80
700
70
600
60
500
50
400
40
300
30
200
20
100
10
0
0
0
2
4
6
8
11
14
17
20
23
26
29
32
35
38
41
44
47
0
2
4
6
8
11
14
17
20
23
26
29
32
35
38
41
44
47
Number of Virtual Clients
Number of Virtual Clients
Fig. 2. CPU & Memory Utilized
Fig. 1. Network Load
Search WWH ::




Custom Search