{"id":15399136,"url":"https://github.com/sharp0802/m5n","last_synced_at":"2026-05-11T04:47:52.333Z","repository":{"id":221560389,"uuid":"754733855","full_name":"Sharp0802/m5n","owner":"Sharp0802","description":"A simple swap2-based gomoku server/broker","archived":false,"fork":false,"pushed_at":"2024-02-16T22:28:52.000Z","size":133,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-25T22:33:57.403Z","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":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sharp0802.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":"2024-02-08T17:02:48.000Z","updated_at":"2024-02-17T09:38:19.000Z","dependencies_parsed_at":"2024-10-19T05:26:08.542Z","dependency_job_id":"f328de79-c6cc-4341-8904-940e545051b0","html_url":"https://github.com/Sharp0802/m5n","commit_stats":{"total_commits":100,"total_committers":1,"mean_commits":100.0,"dds":0.0,"last_synced_commit":"70d797191bf5e1b343bb4cd6f5a81ef3f3ed8dd6"},"previous_names":["sharp0802/m5n"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sharp0802%2Fm5n","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sharp0802%2Fm5n/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sharp0802%2Fm5n/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sharp0802%2Fm5n/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sharp0802","download_url":"https://codeload.github.com/Sharp0802/m5n/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244722651,"owners_count":20499153,"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-01T15:46:59.402Z","updated_at":"2026-05-11T04:47:52.239Z","avatar_url":"https://github.com/Sharp0802.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# M5N\n\nA simple swap2-based gomoku server/broker, written in C#, compatible with CPython 3.11\n\n## Requirement\n\n### Compiling\n\n- .NET SDK 8.0 or above\n- GCC (MinGW on Windows)\n- CPython 3.11\n\n### Runtime\n\n- CPython 3.11 (Only with python backend.)\n\n## Ruleset\n\nEach player can do:\n\n- dye : Choose colour\n- put : Put stone\n\nLet player A, B.\n\n1. A put 3-times.\n2. B choose:\n    1. B dye.\n    2. B put 2-times. A dye.\n3. Continue with gomoku-ruleset.\n\n## Disclaimer\n\n- **Virtual-environment or such things are not supported.**\n- `set_colour`, `set_stone`, `choose_colour`, `place_stone`, `make_decision`, `victory`, `defeat` is reserved function/handler.\n  - Do not rename these functions.\n  - Do not change function signature. Or may cause the client to crash.\n- **Only tested on pure python (without any packages)**\n\n## How to write client\n\nSee working [sample code](test/python/main.py) with python.\nYou can prove application manually with sample-code!\n\n...or you can use C/C++ with same constants:\nSee [sample code](test/c/impl.cpp) with C++.\n\n## How to run client\n\nLet your (python) source codes are in `./app` folder.\n\nThen, you can run client by:\n\n```sh\nM5N.Slave \u003cendpoint\u003e Python ./app \u003cmodule\u003e\n```\n\nM5N also supports native-backend built into dll/so.\nTo use native-backend, Use below command:\n\n```sh\nM5N.Slave \u003cendpoint\u003e C path/to/your/binary.dll\n```\n\nThese syntax is mnemonic with a below rule:\n\n```sh\nM5N.Slave \u003cendpoint\u003e \u003cengine\u003e [\u003cengine-option\u003e+] \u003cmodule\u003e\n```\n\n## How to run server\n\n```sh\nM5N.Master \u003cport\u003e\n```\n\nServer will be listening on specified port number. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsharp0802%2Fm5n","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsharp0802%2Fm5n","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsharp0802%2Fm5n/lists"}