{"id":16380386,"url":"https://github.com/sya-ri/minecraft-proxy","last_synced_at":"2025-10-26T10:30:58.843Z","repository":{"id":103620317,"uuid":"574008509","full_name":"sya-ri/minecraft-proxy","owner":"sya-ri","description":"Proxy your local Minecraft server with a public server using your domain. It's not a Bungeecord or a plugin.","archived":false,"fork":false,"pushed_at":"2024-10-06T14:22:23.000Z","size":14,"stargazers_count":12,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-31T18:14:16.104Z","etag":null,"topics":["docker","docker-compose","frp","frps","minecraft","minecraft-proxy","minecraft-server"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sya-ri.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2022-12-04T05:48:28.000Z","updated_at":"2025-01-10T17:04:15.000Z","dependencies_parsed_at":"2024-11-26T20:48:13.492Z","dependency_job_id":null,"html_url":"https://github.com/sya-ri/minecraft-proxy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sya-ri%2Fminecraft-proxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sya-ri%2Fminecraft-proxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sya-ri%2Fminecraft-proxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sya-ri%2Fminecraft-proxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sya-ri","download_url":"https://codeload.github.com/sya-ri/minecraft-proxy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238310271,"owners_count":19450833,"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":["docker","docker-compose","frp","frps","minecraft","minecraft-proxy","minecraft-server"],"created_at":"2024-10-11T03:51:19.492Z","updated_at":"2025-10-26T10:30:58.439Z","avatar_url":"https://github.com/sya-ri.png","language":"Dockerfile","readme":"# minecraft-proxy\n\nProxy your local Minecraft server with a public server using your domain. It's not a Bungeecord or a plugin.\n\n## Structure\n\nUse [frp](https://github.com/fatedier/frp) to connect the local server to the container's port with the public server. Then use [mc-router](https://github.com/itzg/mc-router) to change the port to connect by domain.\n\n```mermaid\nflowchart LR\n    subgraph Public server\n        subgraph Container\n            subgraph frps\n                frps-25566[:25566]\n                frps-25567[:25567]\n            end\n            mc-router \u003c-- example.com --\u003e frps-25566\n            mc-router \u003c-- sub.example.com --\u003e frps-25567\n        end\n    end\n    subgraph Local server 2\n        frps-25567 \u003c---\u003e frpc-2\n        minecraft-2[Minecraft server] \u003c--\u003e frpc-2[frpc]\n    end\n    subgraph Local server 1\n        minecraft-1[Minecraft server] \u003c--\u003e frpc-1[frpc]\n        frps-25566 \u003c---\u003e frpc-1\n    end\n    minecraft-client[Minecraft client] \u003c-- $domain:25565 --\u003e mc-router\n```\n\n## Usage\n\n### Public server\n\n1. Clone this repository.\n2. Create `.env`.\n3. Run `docker compose up -d`.\n\n### Each local server\n\n1. Download from [releases](https://github.com/fatedier/frp/releases).\n2. Extract frpc from a downloaded file.\n3. Create `frpc.ini`\n4. Run `frpc -c frpc.ini`.\n\n## Example\n\n### Structure example\n\n※ The public server address is `203.0.113.0`.\n\n#### Public server\n\n##### .env\n\n```dotenv\nROUTER_MAPPING=example.com=frp:25566,sub.example.com=frp:25567\n```\n\n※ `frp` is the address that means frps container.\n\n#### Local server 1\n\n##### frpc.ini\n\n```ini\n[common]\nserver_addr = 203.0.113.0\nserver_port = 7000\n\n[minecraft]\ntype = tcp\nlocal_port = 25565\nremote_port = 25566\n```\n#### Local server 2\n\n##### frpc.ini\n\n```ini\n[common]\nserver_addr = 203.0.113.0\nserver_port = 7000\n\n[minecraft]\ntype = tcp\nlocal_port = 25565\nremote_port = 25567\n```\n\n## Environment value\n\n### `FRP_VERSION`\n\nDefault: [`0.60.0`](https://github.com/fatedier/frp/releases/v0.60.0)\n\nfrps version to use.\n\n### `FRP_ARGS`\n\nDefault: (empty)\n\nfrps command options. For example, you can set a token.\n\n### `FRP_PORT`\n\nDefault: 7000\n\n### `ROUTER_MAPPING`\n\n**Require**\n\nMapping of address and port. For example: `example.com=frp:25565`\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsya-ri%2Fminecraft-proxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsya-ri%2Fminecraft-proxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsya-ri%2Fminecraft-proxy/lists"}