{"id":16156448,"url":"https://github.com/benhoff/qt5-agario-clone","last_synced_at":"2025-04-07T01:17:40.064Z","repository":{"id":91973529,"uuid":"139250996","full_name":"benhoff/qt5-agario-clone","owner":"benhoff","description":"Showcase the portability of Qt5 building an Agar.io clone!","archived":false,"fork":false,"pushed_at":"2018-09-06T12:16:25.000Z","size":353,"stargazers_count":1,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-13T06:43:08.634Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/benhoff.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-06-30T13:18:02.000Z","updated_at":"2018-10-04T13:41:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"9fe73177-9006-4c52-a141-1a2732fc6dd5","html_url":"https://github.com/benhoff/qt5-agario-clone","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benhoff%2Fqt5-agario-clone","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benhoff%2Fqt5-agario-clone/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benhoff%2Fqt5-agario-clone/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benhoff%2Fqt5-agario-clone/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/benhoff","download_url":"https://codeload.github.com/benhoff/qt5-agario-clone/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247574092,"owners_count":20960497,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-10T01:44:58.434Z","updated_at":"2025-04-07T01:17:40.041Z","avatar_url":"https://github.com/benhoff.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Qt5 Cross Platform Applications\n\nCourse being developed with Packt Publishing showcasing the portability of Qt5 to do Cross Platform development by building out and distributing an Agar.io clone!\n\n## Overview\n\nThere are four seperate projects contained in this repo.\n\n1. eatem-standalone (QML/C++ Agario single player)\n2. eatem (QML Agario client)\n3. eatem-server (C++ Agario server)\n4. eatem-web (HTML/JavaScript Agario client)\n\nThe web client (eatem-web) is currently under devlopment/not working.\n\nRecommend building/running eatem-standalone using either Qt Creator or qmake/make.\n\nIf you want to try out the client and server, please ensure that the server is running first as there is no reconnect functionality built into the client. The QML client and server are 97% game-feature complete. The client/server are currently hardcoded to serve on the localhost (ip addresss 127.0.0.1) on port 5555 and serve content unencrypted.\n\n#### Note of Caution\n\nPlease note that the server/game was built for educational purposes, so the server is *not* performant/optimized. The server implementation is single threaded. The data structures are basic lists (vs a quadtree or some other space-based data structure). No attempts where made to reduce the networking overhead. No attempts were made with respect to DDOS prevention and some of the server endpoints could easily be abused in a game-breaking manner, as not all of them are rate-limited. You've been warned!\n\n## Server Pre-build Instructions\n\nUnfortunately, Qt [has a bug](https://bugreports.qt.io/browse/QTBUG-70078) that causes some stale cache issues when running the server\n\nTo clone the patched version of QtWebChannel in.\n\n```bash\n$ git clone https://github.com/PacktPublishing/Qt5-Cross-Platform-Application-Development\n$ git submodule init\n$ git submodule update\n```\n\nNow to compile the patched QtWebChannel\n\n```bash\n$ cd qtwebchannel\n$ qmake\n$ make\n```\n\nBuild `eatem-server` and then use the LD_PRELOAD to point directly to your patched WebChannel library rather than the system version.\n\n```bash\n$ LD_PRELOAD=/absolute/path/here/qtwebchannel/lib/libQt5WebChannel.so.5 ./server\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenhoff%2Fqt5-agario-clone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbenhoff%2Fqt5-agario-clone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenhoff%2Fqt5-agario-clone/lists"}