LaggingMeter : The Importance of QoS in Network Gaming
Hagqvist, Jan (2019)
Hagqvist, Jan
2019
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2019121727301
https://urn.fi/URN:NBN:fi:amk-2019121727301
Tiivistelmä
Tämän opinnäytetyön tarkoituksena oli kehittää LaggingMeter eli järjestelmä, jolla verkko-pelaajien verkkoyhteyteen voidaan kehittää yksilöllisiä häiriöitä ja kerätä pelaajilta palaute heidän kokemistaan häiriöistä jokaiselle pelaajalle erikseen tarjottavan painikkeen avulla. Työssä tutkittiin, miten edellä mainittu järjestelmä voidaan toteuttaa modernilla PC-laitteistolla. Lisäksi pyrittiin selvittämään minkä tasoinen PC-laitteisto on riittävä järjestel-män käyttämiseksi. Opinnäytetyö tehtiin kehittämistutkimuksena.
Työ pohjautuu yliopettaja Martti Kettusen projekti-ideaan. Työn alkuvaiheessa perehdyttiin palvelunlaatuteoriaan ja todettiin, että neljä tärkeää verkkoparametria, jotka vaikuttavat palvelunlaatuun ovat viive, viiveen vaihtelu, pakettien häviäminen ja kaistanleveys. Nämä valittiin parametreiksi toteutettavaan järjestelmään, joita muuttamalla käyttäjien yhteyttä voidaan häiritä.
LaggingMeter toteutettiin luomalla Source Router -ohjelma, jota ajetaan palvelimen ja pe-laajakoneiden väliin asetettavassa siltauskoneessa. Siltauskoneessa on kaksi verkkolii-täntää, joista toinen kytketään palvelimen puolelle ja toinen pelaajakoneiden puolelle. Source Router kaappaa jokaisen verkkoliitäntöihin tulevan verkkokehyksen, tunnistaa niistä eri pelaajakoneet ja häiritsee jokaisen pelaajakoneen yhteyttä erikseen järjestelmän käyttäjän asettamalla tavalla.
Source Router -ohjelman käyttöliittymä on toteutettu web-pohjaisena käyttäen WebSocket-yhteyttä tiedon välittämiseen. Käyttöliittymän avulla järjestelmän käyttäjä voi asettaa eri häiriöitä eri pelaajakoneille ja tarkkailla järjestelmän tilaa. Lisäksi luotiin erillinen häiriönil-maisupainikkeiden painallukset keräävä ohjelmisto, jota ajetaan Raspberry Pi -pienoistietokoneessa. Tämä ohjelma lähettää painikkeiden painallukset Source Router -ohjelmalle keskitettyä taltiointia varten.
Tuloksena saatiin järjestelmä, jossa häiriöiden luominen tapahtuu täysin ohjelmallisesti ja jonka käyttämiseen riittää tavallinen PC-laitteisto kahdella verkkokortilla. Järjestelmä testat-tiin neljällä eri tehoisella ja eri ikäisellä PC-laitteistolla ja todettiin, että se toimii käytetyllä 100 Mbps:n nopeudella oikein kaikilla testatuilla PC-laitteistoilla. Tämän vuoksi tarvittavan PC-laitteiston minimivaatimuksia ei kyetty selvittämään. The purpose of this thesis was to develop a system that allows the generation of individual interference or lag in the network connection of gamers. This LaggingMeter system also provides each gamer a button to press when they experience lag in their gameplay. The first research question was how to implement such a system using a modern PC system. The second research question was how modern and efficient such a PC system would need to be. The research was made as a design-based research.
The work is based on a project idea by principal lecturer Martti Kettunen. In the beginning quality of service theory was studied and it was established that there are four important network parameters that affect it. These parameters are delay, delay hopping or jitter, packet loss and bandwidth. These were chosen as the parameters that could be individu-ally changed for each gamer in the system that was implemented.
The basis of the LaggingMeter system is the Source Router software which is run in a bridging computer that is placed between the server and client computers. The bridging computer has two network interfaces, one on the server side and one on the client side. Source Router captures all the network frames coming in from each of the interfaces, identifies the used player computers and interferes the connection of each client comput-er individually.
The user interface of the Source Router software is web-based and utilizes a WebSocket connection. The operator can set different interference for each of the client computers and monitor the system status using the user interface. Furthermore, a separate software was created to collect the lag button presses from the users. This software is run in a Raspberry Pi computer and it sends the button presses to the Source Router software for storage and further analysis.
As a result of the thesis a system was created that allows interference generation with a software-only approach and can be used on a regular PC system that has two network adapters available. The system was tested on four different PC systems which all ran the system properly. Thus, the minimum level of PC system required was not established.
Työ pohjautuu yliopettaja Martti Kettusen projekti-ideaan. Työn alkuvaiheessa perehdyttiin palvelunlaatuteoriaan ja todettiin, että neljä tärkeää verkkoparametria, jotka vaikuttavat palvelunlaatuun ovat viive, viiveen vaihtelu, pakettien häviäminen ja kaistanleveys. Nämä valittiin parametreiksi toteutettavaan järjestelmään, joita muuttamalla käyttäjien yhteyttä voidaan häiritä.
LaggingMeter toteutettiin luomalla Source Router -ohjelma, jota ajetaan palvelimen ja pe-laajakoneiden väliin asetettavassa siltauskoneessa. Siltauskoneessa on kaksi verkkolii-täntää, joista toinen kytketään palvelimen puolelle ja toinen pelaajakoneiden puolelle. Source Router kaappaa jokaisen verkkoliitäntöihin tulevan verkkokehyksen, tunnistaa niistä eri pelaajakoneet ja häiritsee jokaisen pelaajakoneen yhteyttä erikseen järjestelmän käyttäjän asettamalla tavalla.
Source Router -ohjelman käyttöliittymä on toteutettu web-pohjaisena käyttäen WebSocket-yhteyttä tiedon välittämiseen. Käyttöliittymän avulla järjestelmän käyttäjä voi asettaa eri häiriöitä eri pelaajakoneille ja tarkkailla järjestelmän tilaa. Lisäksi luotiin erillinen häiriönil-maisupainikkeiden painallukset keräävä ohjelmisto, jota ajetaan Raspberry Pi -pienoistietokoneessa. Tämä ohjelma lähettää painikkeiden painallukset Source Router -ohjelmalle keskitettyä taltiointia varten.
Tuloksena saatiin järjestelmä, jossa häiriöiden luominen tapahtuu täysin ohjelmallisesti ja jonka käyttämiseen riittää tavallinen PC-laitteisto kahdella verkkokortilla. Järjestelmä testat-tiin neljällä eri tehoisella ja eri ikäisellä PC-laitteistolla ja todettiin, että se toimii käytetyllä 100 Mbps:n nopeudella oikein kaikilla testatuilla PC-laitteistoilla. Tämän vuoksi tarvittavan PC-laitteiston minimivaatimuksia ei kyetty selvittämään.
The work is based on a project idea by principal lecturer Martti Kettunen. In the beginning quality of service theory was studied and it was established that there are four important network parameters that affect it. These parameters are delay, delay hopping or jitter, packet loss and bandwidth. These were chosen as the parameters that could be individu-ally changed for each gamer in the system that was implemented.
The basis of the LaggingMeter system is the Source Router software which is run in a bridging computer that is placed between the server and client computers. The bridging computer has two network interfaces, one on the server side and one on the client side. Source Router captures all the network frames coming in from each of the interfaces, identifies the used player computers and interferes the connection of each client comput-er individually.
The user interface of the Source Router software is web-based and utilizes a WebSocket connection. The operator can set different interference for each of the client computers and monitor the system status using the user interface. Furthermore, a separate software was created to collect the lag button presses from the users. This software is run in a Raspberry Pi computer and it sends the button presses to the Source Router software for storage and further analysis.
As a result of the thesis a system was created that allows interference generation with a software-only approach and can be used on a regular PC system that has two network adapters available. The system was tested on four different PC systems which all ran the system properly. Thus, the minimum level of PC system required was not established.