• Tidak ada hasil yang ditemukan

online esports competitive team finder web app with built-in

N/A
N/A
Nguyễn Gia Hào

Academic year: 2023

Membagikan "online esports competitive team finder web app with built-in"

Copied!
82
0
0

Teks penuh

ONLINE ESPORTS COMPETITIVE TEAM FIND WEB APP WITH BUILT-IN TOURNAMENT CREATOR, CUSTOM LOBBY MATCH-UP AND PROFILE RANK BASED ON ATTENDANCES AND COMPLIMENTS. I declare that this report titled "ONLINE ESPORTS COMPETITIVE TEAM FIND WEB APP WITH BUILT-IN TOURNAMENT MAKERS, CUSTOM LOBBY MATCH-UP AND PROFILE VALUE BASED ON ATTENDANCES AND COMPLIMENTS" is my own work, except as cited in the references. Register Activity Chart Login Activity Chart Players Activity Chart Team Activity Chart Lobby Activity Chart Tournament Activity Chart System Design Block Chart Exposed Public Folder.

Figure Number  Title  Page
Figure Number Title Page

Introduction

  • Problem Statement and Motivations
  • Objectives
  • Project Scope
    • Team Finder Module
    • Custom Lobby Module
    • Custom Tournament Module
    • Player Rating Module
  • Contributions
  • Report Organization

To develop a web app that allows the creation of custom lobbies or tournament events by players with versatile options such as the size of the lobby, Esports titles. The third chapter discusses the methods of the system and the approach, done using different diagrams such as system architectural diagram, use case diagram and activity diagram. The fifth chapter explains the implementation of the system and also the developmental workflow, system setup, problems, testing methods.

Figure 1.1.1 - Overwatch avoid teammate function
Figure 1.1.1 - Overwatch avoid teammate function

Literature Review

  • Base System
    • Base System Analysis
    • Base System Strengths
    • Base System Weaknesses
    • Base System Recommendations
  • Match.tf System
    • Match.tf Analysis
    • Match.tf Strengths
    • Match.tf Weaknesses
    • Match.tf Recommendations
  • FACEIT System
    • FACEIT Analysis
    • FACEIT Strengths
    • FACEIT Weaknesses
    • FACEIT Recommendations
  • Community PUG System
    • Community PUG Analysis
    • Community PUG Strengths
    • Community PUG Weaknesses
    • Community PUG Recommendations
  • Review Summary

While the proposed project wanted to be third-party software, it wouldn't hurt to analyze and study the base system and the original developer's intent in creating the system. The sole purpose of the system is to allow players to organize their tournaments in different environments while supervising different competitive leagues at the same time. Another strong point of the system is the team finder module, which allows the player to create a team and invite other players to participate in one of the organized tournaments on behalf of his team.

While the system is capable of creating tournaments that are missing from the base system, it still cannot solve the problem of creating a flexible lobby that fits the player's requirements. As mentioned earlier, the system serves as an extension to the base system, and so the problem of cheating and player toxicity persists through the base system's approaches to how it addresses the problem. The system introduces a totally new anti-cheat system, doubtful, FACEIT AC, which is a superior anti-cheat system compared to the base system due to its kernel-level system scanning.

With this in mind, the AC of the system is promoted in such a way as to encourage base system players to play on this platform instead as it offers a much better user-friendly experience. While the system itself promotes a fair competitive scene, the system focuses too much on the competitive aspect of the game, forcing any casual player who wants to play to be disappointed by the lack of casual play the base system offers. The player toxicity issue with this system is ridiculously difficult to address due to the overall nature of the system, though one suggestion is that the system could follow a common guideline from the communication medium's EULA so it can maintain a user-friendly environment for all players.

In terms, the problem of community PUG system would be the hardest to solve because of the way it works as an anarchist system. In the end, it all depends on the player how he would get out of the system.

Figure 2.1.1 - TF2 System UI via ToonsHud
Figure 2.1.1 - TF2 System UI via ToonsHud

System Methodologies and Approach

System Design Diagrams

  • System Architectural Diagram
  • Use Case Diagram
  • Activity Diagram

And additional note to the use case here, where the use case: Login is essential to unlock the user/players to other functionality deeper in the expansion. The following use-case is presented as if the user is logged into the system with a verified status. Otherwise, the user would only be able to see teams, lobbies, tournaments and players; other functions such as creation, deletion, participation and your profile would not be available.

The following activity charts would follow the core functionality of the system, including registering, logging in, players, teams, lobbies, and tournaments.

Figure 3.1.2 - Use Case Diagram
Figure 3.1.2 - Use Case Diagram

System Design

System Design Block Diagram

  • Front-End Block
  • Back-End Block
  • Code Repository

The front-end of the system consisted mainly of serving the website to users on the Internet. Any interactions here are handled by the Express framework, where it will handle all server responses such as GET and POST. The session information is generally handled by express built-in modules that integrate with the locally hosted database, which will be discussed in the next section.

The back-end of the system is built on the foundations of the NodeJS + Express framework. All critical modules are held within a deployment area in the hosting server, which will be discussed in the next section. Some modules of the application would also communicate with the local database through a secure port and API built into the framework. For example, web application session management is handled as is, with session information stored in the local database rather than the web browser for seamlessness between channels.

In addition, the server hosting service also has PM2, which is a process manager daemon that manages the lifecycle of a web application. The service manager would be monitored by an automated workflow in the code repository upon any recent updates or commits to the repository. The host server's deployment zone means the working zone where the codebase from the repository, in this case GitHub, would be deployed.

The workflow updates the composition of files and modules within the deployment area and restarts the PM2 daemon process in case the server becomes overloaded or times out during the deployment phase.

System Component Specifications

  • Front-End Component
  • Back-End Component
  • Repository Component

The back end of the web application consists of the connection between functional modules and database. CREATE TABLE IF NOT FOUND account_verify ( id VARCHAR(255) NOT NULL, verify_status VARCHAR(255) NOT NULL, verify_code VARCHAR(255), CREATE TABLE IF NOT FOUND account_status ( id VARCHAR(255) NOT NULL, TEXT, NULL

CREATE TABLE IF NOT EXISTS account_special ( id VARCHAR(255) NOT NULL, site_privilege VARCHAR(50) NOT NULL,. CREATE TABLE IF NOT EXISTS account_compliments ( id VARCHAR(255) NOT NULL, compliment INT NOT NULL, disapprove INT NOT NULL, lobby_complete INT NOT NULL, tourn_complete INT NOT NULL, tourn_finalist INT NOT NULL, special_rating INT NOT NULL, USTVARI TABELO, ČE NE OBSTAJA lobbies_team ( lobby_code VARCHAR(8) NOT NULL, id VARCHAR(255) NOT NULL, ekipa INT NOT NULL,.

CREATE TABLE IF NOT EXISTS tournamens_tree ( tournament_code VARCHAR(8) NOT NULL, id VARCHAR(255) NOT NULL, climb INT. CREATE TABEL IF NOT EXISTS tournament_match ( tournament_code VARCHAR(8) NOT NULL NULL, NOT NULL, NULL brat NOT, Climb (255) NOT NULL, id_2 VARCHAR(255) NOT NULL, point_1 INT NOT NULL, point_2 INT NOT NULL, match_status VARCHAR(255) NOT NULL,. Det er generelt en god praksis at oprette et privat GitHub-depot med henblik på webapplikationen, husk at medtage følsomme oplysninger i depotet.

Inside this deployment file is where the executable commands for updating and maintaining the web application are written.

Figure 4.2.2 - Nginx Config
Figure 4.2.2 - Nginx Config

System Implementation

  • Development Workflow and Methodologies
  • System Setup and Configuration
  • Implementation Issues and Challenges
  • System Testing
    • Alpha Testing
    • Beta Testing
    • Developmental Logging

The "DB" section of the variable is the credentials as the database you set before. The port of the web application is opened at port 4200 as a proxy port, all requests will still have to come through port 80 or port 443. The port in the environment variable file can be changed, just remember to change the port of the proxy server in the Nginx configuration as well.

The web application will now be hosted in the domain provided in the cloud service or the IPv4 address of the virtual machine at port 4200. On the other hand, requests from bots and crawlers were also a contributing factor to the abnormal resource usage of the virtual machine. After a certain version of the project development is done, alpha testing can take place immediately.

The overall results and feedback of the test are recorded in 2 ways either from user input through support communication channel like developer's DM or email. Development registration is one of the ways to receive results and feedback from the previous beta testing. The logging system is integrated into the code base itself, since any action of the user will be recorded in this way by timestamp and actions.

In addition, the logging would also be stored in a log file in the "logs/" directory of the project under the name "combined.txt".

Figure 5.2.1 – Environment Variables
Figure 5.2.1 – Environment Variables

System Evaluation and Discussion

Functional and Objectives Evaluation

Non-Functional Evaluation

GUI and UX Evaluation

Future Works

FINAL YEAR PROJECT WEEKLY REPORT

  • WORK DONE
  • WORK TO BE DONE
  • PROBLEMS ENCOUNTERED
  • SELF EVALUATION OF THE PROGRESS
  • WORK TO BE DONE Lobby system implementation
  • WORK TO BE DONE Addition work on lobby system
  • PROBLEMS ENCOUNTERED No problem encountered so far

Comming new CI/CD cycle start to fail the GitHub actions, may need to increase the deployment timeout. If a loophole is not flagged, the entire project can be decimated, so one must be careful on the security side. It may be necessary to adjust the value during the calculation of the rating system to avoid abuse.

Need to pin the progress as there is still lobby and tournament system to be implemented. Upcoming other subject's workload can affect development, need to move time much more efficiently during coding session. There is an exploit regarding the lobby system, where users other than the lobby manager can start or end the lobby themselves, must be fixed as soon as possible.

Due to time constraints, it may be necessary to make a tournament module only for an individual user. Further polishing the tournament module, if possible, include a tournament-style binary tree in the public site. A tournament module that captures the tree structure of the website data is difficult to implement, as saving the tree would require more in-depth tinkering.

An overview of the historical data structure is required to fully capture the implementation of the tournament module.

POSTER

PLAGIARISM CHECK RESULT

Final Year Project Title Online Esports Competitive Team Finder Web App with built-in tournament creator, custom lobby match-up and profile ratings based on participation and compliments. Required originality parameters and limits approved by UTAR are as follows:. i) Overall similarity index is 20% and below, and. ii) Matching of individual listed sources must be less than 3% each, and (iii) Matching texts in consecutive block must not exceed 8 words. Note: Parameters (i) – (ii) must exclude citations, bibliography and text matches that are less than 8 words.

Note The Supervisor/Candidate(s) must/are required to provide the Faculty/Institute with a full copy of the complete set of originality report. Based on the above results, I declare that I am satisfied with the authenticity of the Final Year Project Report submitted by my student(s) as mentioned above. Form title: Supervisor's Comments on Originality Report Generated by Turnitin for submission of Final Year Project Report (for Undergraduate Programs).

UNIVERSITI TUNKU ABDUL RAHMAN

Gambar

Figure 1.1.1 - Overwatch avoid teammate function
Figure 2.0.2 - TF2 Insomnia61 Finals, 2017
Figure 2.0.1 - Team Fortress 2 Poster
Figure 2.1.1 - TF2 System UI via ToonsHud
+7

Referensi

Dokumen terkait