{"id":29040310,"url":"https://github.com/gloryofnight/unrealrcon","last_synced_at":"2026-06-13T09:06:01.488Z","repository":{"id":300280866,"uuid":"1005130012","full_name":"GloryOfNight/UnrealRCON","owner":"GloryOfNight","description":"Unreal Engine plugin implementing Source RCON protocol","archived":false,"fork":false,"pushed_at":"2025-12-23T11:42:13.000Z","size":67,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-25T00:30:34.665Z","etag":null,"topics":["cxx20","rcon-client","rcon-protocol","rcon-server","source-rcon","ue5","ue5-plugin","unreal-engine-5"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GloryOfNight.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"GloryOfNight","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2025-06-19T18:06:32.000Z","updated_at":"2025-12-23T10:01:14.000Z","dependencies_parsed_at":"2025-10-05T20:24:43.780Z","dependency_job_id":null,"html_url":"https://github.com/GloryOfNight/UnrealRCON","commit_stats":null,"previous_names":["gloryofnight/unrealrcon"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/GloryOfNight/UnrealRCON","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GloryOfNight%2FUnrealRCON","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GloryOfNight%2FUnrealRCON/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GloryOfNight%2FUnrealRCON/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GloryOfNight%2FUnrealRCON/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GloryOfNight","download_url":"https://codeload.github.com/GloryOfNight/UnrealRCON/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GloryOfNight%2FUnrealRCON/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34278226,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-13T02:00:06.617Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cxx20","rcon-client","rcon-protocol","rcon-server","source-rcon","ue5","ue5-plugin","unreal-engine-5"],"created_at":"2025-06-26T14:03:56.764Z","updated_at":"2026-06-13T09:06:01.483Z","avatar_url":"https://github.com/GloryOfNight.png","language":"C++","funding_links":["https://github.com/sponsors/GloryOfNight"],"categories":[],"sub_categories":[],"readme":"# UnrealRCON\nUnrealRCON is a **RCON (Remote Console)** plugin for **Unreal Engine**, designed for servers to remotely receive and handle commands.\n\n## 🔧 Features\n\n- ✅ RCON server protocol implementation\n- 🎮 Built to integrate directly into Unreal Engine project as a plugin\n- 🔁 Easy integration and use\n- 🧪 Simple enought to tailor for your specific needs\n\n## 🚀 Getting Started\n\n### Installation\n1. Download source from latest [releases](https://github.com/GloryOfNight/UnrealRCON/releases)\n2. Unpack source code to Plugins/UnrealRCON folder\n3. Regenerate and launch project, make sure UnrealRCON enabled in Plugins\n\u003e [!WARNING]\n\u003e DO NOT download source code from main branch since it could be unstable at times. Only do that from tags or releases page!\n\n## RCON client\n\n### Usage\nYou can use any external Source RCON compatible client, for example [ARRCON](https://github.com/radj307/ARRCON) or [rcon-cli](https://github.com/gorcon/rcon-cli)\n\nThis plugin also provides build-in RCON client, using console and API\n```\nrcon.client.connect \u003cip\u003e \u003cport\u003e \u003cpassword\u003e \t# if argument not provided, it takes default argument from settings\nrcon.client.exec \u003ccommand\u003e \t\t\t\t\t# send execute command to connected server\nrcon.client.disconnect \t\t\t\t\t\t# disconnects from server\n```\nfor the API calls, look into: \n```\nURConClientSubsystem::Get(this)-\u003eConnect(HostAddr,Port, Password);\nURConClientSubsystem::Get(this)-\u003eIsConnected();\nURConClientSubsystem::Get(this)-\u003eDisconnect();\nint32 RequestId = URConClientSubsystem::Get(this)-\u003eSendCommand(InCommand);\nAddRequestCallback(RequestId, Callback);\n```\n\n## RCON server\n\n### Usage\n\nfor testing purposes, server supports console commands:\n```\nrcon.server.start \t# allows you locally start rcon server to test functionality\nrcon.server.stop \t# stop rcon server\n```\nfor the API calls, look into: \n```\nURConServerSubsystem::Get(this)-\u003eStartServer();\nURConServerSubsystem::Get(this)-\u003eIsStarted();\nURConServerSubsystem::Get(this)-\u003eSendCommandResponse(RequestId, Response);\nURConServerSubsystem::Get(this)-\u003eStopServer();\nURConServerSubsystem::Get(this)-\u003eAddCommand(InCommand, InCallback, InTooltip, InProperties);\nURConServerSubsystem::Get(this)-\u003eAddCommand(InCommandHandle);\nURConServerSubsystem::Get(this)-\u003eFindCommandHandle(Command);\n```\n\n### Startup options\n`-RConEnable` auto-start rcon server on startup (if subsystem created)\n\n`-RConPort=27015` set rcon server port. In case of forked server, port + fork id would be used for that fork\n\n`-RConPassoword=1111` set rcon server password\n\n`-RConMaxActiveConnections=5` set maximum amount of active connections\n\n### Config\n`DefaultGame.ini`\n```\n[/Script/RConServer.RConSettings]\nPort=27015 \t\t\t\t\t# Note: Commandline argument has a priority over config\nPassword=1111 \t\t\t\t# Note: Commandline argument has a priority over config\nMaxActiveConnections=5 \t\t# Note: Commandline argument has a priority over config\nbAllowInEditorBuild=True\t# Allow launching rcon server in editor\nbAllowInGameBuild=False\t\t# Allow launching rcon server in game (non-shipping) build\nbAllowInServerBuild=True\nbAllowInServerShippingBuild=True\nbAutoStart=False \t\t\t# Note: if true, -RConEnable not required to auto-start rcon server\n```\n\n### Default commands\n`help` List all available commands\n\n`exec` Execute unreal engine console command\n\n### Adding custom commands\n(C++ only)\n\n\u003e [!TIP]\n\u003e Create new [Game Instance Subsystem](https://dev.epicgames.com/documentation/en-us/unreal-engine/programming-subsystems-in-unreal-engine) class to handle custom rcon commands code.\n\n1. Open your project .build.cs file\n   and apply `RConServer` to module dependecies list, just like that:\n```\nPublicDependencyModuleNames.AddRange(new string[] { \"RConServer\" });\n```\n2. In your codebase, add include\n```\n#include \"RConServerSubsystem.h\"\n```\n3. Start implementing \n```\nURConServerSubsystem* RConServerSubsystem = URConServerSubsystem::Get(this);\nif (RConServerSubsystem)\n{\n\t// Preferably you want bind calls to UObjects not lambda's (FDelegate::CreateUObject)\n\tconst auto CommandCallbackLam = [this](int32 RequestId, const FString\u0026 Command, FString\u0026 Response, bool\u0026 bDelayResponse)\n\t\t{\n\t\t\tReponse.Append(TEXT(\"Listing players:\"));\n\t\t\tfor (const auto\u0026 Player : PlayerList}\n\t\t\t\tReponse.Append(FString::Printf(TEXT(\\n%s (%s)), *Player-\u003eNickname, *Player-\u003eId));\n\t\t};\n\t// Adding commands handles is easy\n\tRConServerSubsystem-\u003eAddCommand(TEXT(\"list players\"), FRConServerCommandCallback::CreateWeakLambda(this, CommandCallbackLam), TEXT(\"List current players\"));\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgloryofnight%2Funrealrcon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgloryofnight%2Funrealrcon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgloryofnight%2Funrealrcon/lists"}