{"id":26315494,"url":"https://github.com/lunamultiplayer/lunamultiplayer","last_synced_at":"2025-04-05T15:02:53.556Z","repository":{"id":12000906,"uuid":"70247647","full_name":"LunaMultiplayer/LunaMultiplayer","owner":"LunaMultiplayer","description":"Multiplayer mod for Kerbal Space Program (KSP)","archived":false,"fork":false,"pushed_at":"2024-09-08T23:40:36.000Z","size":299687,"stargazers_count":464,"open_issues_count":67,"forks_count":155,"subscribers_count":33,"default_branch":"master","last_synced_at":"2025-03-29T14:04:39.400Z","etag":null,"topics":["dmp","kerbal","kerbal-space","kerbal-space-program","kerbalspaceprogram","kmp","ksp","lidgren","lmp","luna","lunamultiplayer","mod","multiplayer","udp"],"latest_commit_sha":null,"homepage":"http://www.lunamultiplayer.com","language":"C#","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/LunaMultiplayer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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},"funding":{"custom":"https://paypal.me/gavazquez"}},"created_at":"2016-10-07T13:10:54.000Z","updated_at":"2025-03-19T20:54:03.000Z","dependencies_parsed_at":"2023-02-16T11:31:37.978Z","dependency_job_id":"65959aea-22c0-415f-8302-b00576bbe257","html_url":"https://github.com/LunaMultiplayer/LunaMultiplayer","commit_stats":null,"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LunaMultiplayer%2FLunaMultiplayer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LunaMultiplayer%2FLunaMultiplayer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LunaMultiplayer%2FLunaMultiplayer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LunaMultiplayer%2FLunaMultiplayer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LunaMultiplayer","download_url":"https://codeload.github.com/LunaMultiplayer/LunaMultiplayer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247353729,"owners_count":20925329,"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":["dmp","kerbal","kerbal-space","kerbal-space-program","kerbalspaceprogram","kmp","ksp","lidgren","lmp","luna","lunamultiplayer","mod","multiplayer","udp"],"created_at":"2025-03-15T12:19:03.186Z","updated_at":"2025-04-05T15:02:53.535Z","avatar_url":"https://github.com/LunaMultiplayer.png","language":"C#","funding_links":["https://paypal.me/gavazquez"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\"../master/External/logo.png\" alt=\"Luna multiplayer logo\"/\u003e\n    \u003ca href=\"https://www.youtube.com/watch?v=rmJL_c-EJK8\"\u003e\u003cimg src=\"https://img.youtube.com/vi/rmJL_c-EJK8/0.jpg\" alt=\"Video\" height=\"187\" width=\"250\"/\u003e\u003c/a\u003e    \n    \u003ca href=\"https://www.youtube.com/watch?v=gf6xyLnpnoM\"\u003e\u003cimg src=\"https://img.youtube.com/vi/gf6xyLnpnoM/0.jpg\" alt=\"Video\" height=\"187\" width=\"250\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://paypal.me/gavazquez\"\u003e\u003cimg src=\"https://img.shields.io/badge/paypal-donate-yellow.svg?style=flat\u0026logo=paypal\" alt=\"PayPal\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://discord.gg/wKVMhWQ\"\u003e\u003cimg src=\"https://img.shields.io/discord/378456662392045571.svg?style=flat\u0026logo=discord\u0026label=discord\" alt=\"Chat on discord\"/\u003e\u003c/a\u003e\n    \u003ca href=\"../../releases\"\u003e\u003cimg src=\"https://img.shields.io/github/release/lunamultiplayer/lunamultiplayer.svg?style=flat\u0026logo=github\u0026logoColor=white\" alt=\"Latest release\" /\u003e\u003c/a\u003e\n    \u003ca href=\"../../releases\"\u003e\u003cimg src=\"https://img.shields.io/github/downloads/lunamultiplayer/lunamultiplayer/total.svg?style=flat\u0026logo=github\u0026logoColor=white\" alt=\"Total downloads\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://forum.kerbalspaceprogram.com/index.php?/topic/168271-131-luna-multiplayer-lmp-alpha\"\u003e\u003cimg src=\"https://img.shields.io/badge/KSP%20Forum-Post-4265f4.svg?style=flat\" alt=\"KSP forum post\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/LunaMultiplayer/LunaMultiplayerUpdater\"\u003e\u003cimg src=\"https://img.shields.io/badge/Automatic-Updater-4265f4.svg?style=flat\" alt=\"Latest build updater\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"../../releases/latest\"\u003e\u003cimg src=\"../master/External/downloadIcon.png\" alt=\"Download\" height=\"85\" width=\"300\"/\u003e\u003c/a\u003e\n  \u003ca href=\"../../wiki\"\u003e\u003cimg src=\"../master/External/documentationIcon.png\" alt=\"Documentation\" height=\"85\" width=\"353\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n# Luna Multiplayer Mod (LMP)\n\n*Multiplayer mod for [Kerbal Space Program (KSP)](https://kerbalspaceprogram.com)*\n\n### Main features:\n\n- [x] Clean and optimized code, based on systems and windows which makes it easier to read and modify.\n- [x] Multi threaded.\n- [x] [NTP](https://en.wikipedia.org/wiki/Network_Time_Protocol) protocol to sync the time between clients and the server.\n- [x] [UDP](https://en.wikipedia.org/wiki/User_Datagram_Protocol) based using the [Lidgren](https://github.com/lidgren/lidgren-network-gen3) library for reliable UDP message handling.\n- [x] [Interpolation](http://www.gabrielgambetta.com/entity-interpolation.html) so the vessels won't jump when there are bad network conditions.\n- [x] Multilanguage.\n- [x] [Nat-punchtrough](../../wiki/Master-server) feature so a server doesn't need to open ports on it's router.\n- [x] [IPv6](https://en.wikipedia.org/wiki/IPv6) support for client\u003c-\u003eserver connections, allowing connection setup even behind symmetric IPv4 NAT\n- [x] Servers displayed within the mod.\n- [x] Settings saved as XML.\n- [x] [UPnP](https://en.wikipedia.org/wiki/Universal_Plug_and_Play) support for servers and [master servers](../../wiki/Master-server)\n- [x] Better creation of network messages so they are easier to modify and serialize.\n- [x] Every network message is cached in order to reduce the garbage collector spikes.\n- [x] Based on tasks instead of threads.\n- [x] Supports career and science modes (funds, science, strategies, etc are shared between all players).\n- [x] Cached [QuickLZ](http://www.quicklz.com) for fast compression without generating garbage.\n- [ ] Support for groups/companies inside career and science modes.\n\nPlease check the [wiki](../../wiki) to see how to [install](../../wiki/How-to-install-LMP), [run](../../wiki/How-to-play-with-LMP), [build](../../wiki/How-to-compile-LMP) or [debug](../../wiki/Debugging-in-Visual-studio) LMP among other things\n\n---\n### Troubleshooting:\n\nPlease visit [this page](../../wiki/Troubleshooting) in the wiki to solve the most common issues with LMP \n[![Analytics](https://ga-beacon.appspot.com/UA-118326748-1/Home?pixel\u0026useReferer)](https://github.com/igrigorik/ga-beacon)\n\n---\n### Contributing:\n\nConsider [donating trough paypal](https://paypal.me/gavazquez) if you like this project. \nIt will encourage us to do future releases, fix bugs and add new features :star:\n\nPlease write the code as you were going to leave it, return after 1 year and you'd have to understand what you wrote.  \nIt's **very** important that the code is clean and documented so in case someone leaves, another programmer could take and maintain it. Bear in mind that **nobody** likes to take a project where it's code looks like a dumpster.\n\nThere's also a test project in case you want to add tests to your code.\n\n---\n### Servers:\n\nYou can check [how many servers are up](../../wiki/Master-server-status) and running either in [Release](../../wiki/How-to-get-the-latest-version-of-LMP) or in [Nightly](../../wiki/How-to-get-nightly-builds) versions through our [master servers](../../wiki/Master-server)\n\n| Master server | Release | Nightly |\n| ------------  | ------- |-------- |\n[Dagger](https://github.com/gavazquez) | [![Release servers](https://img.shields.io/website-up-down-brightgreen-red/http/servers.lunamultiplayer.com:8701.svg?label=status)](http://servers.lunamultiplayer.com:8701) | [![Nightly servers](https://img.shields.io/website-up-down-brightgreen-red/http/servers.lunamultiplayer.com:8751.svg?label=status)](http://servers.lunamultiplayer.com:8751) |\nTekbot | [![Release servers](https://img.shields.io/website-up-down-brightgreen-red/http/168.119.90.137:8701.svg?label=status)](http://168.119.90.137:8701) | [![Nightly servers](https://img.shields.io/website-up-down-brightgreen-red/http/168.119.90.137:8751.svg?label=status)](http://168.119.90.137:8751) |\n[Angryjoshi](https://github.com/Angryjoshi) | [![Release servers](https://img.shields.io/website-up-down-brightgreen-red/http/lmp.anschuetznet.de:8701.svg?label=status)](http://lmp.anschuetznet.de:8701) | [![Nightly servers](https://img.shields.io/website-up-down-brightgreen-red/http/lmp.anschuetznet.de:8751.svg?label=status)](http://lmp.anschuetznet.de:8751) |\n[Bloodfallen](https://github.com/Bloodfallen) | [![Release servers](https://img.shields.io/website-up-down-brightgreen-red/http/direct.imexile.moe:8701.svg?label=status)](http://direct.imexile.moe:8701) | [![Nightly servers](https://img.shields.io/website-up-down-brightgreen-red/http/direct.imexile.moe:8703.svg?label=status)](http://direct.imexile.moe:8703)|\n\n---\n### Status:\n\n|   Branch   |   Build  |   Tests  |  Last commit  |   Activity    |    Commits    |\n| ---------- | -------- | -------- | ------------- | ------------- | ------------- |\n| **master** |[![AppVeyor](https://img.shields.io/appveyor/ci/gavazquez/lunamultiplayer/master.svg?style=flat\u0026logo=appveyor)](https://ci.appveyor.com/project/gavazquez/lunamultiplayer/branch/master) | [![AppVeyor Tests](https://img.shields.io/appveyor/tests/gavazquez/lunamultiplayer/master.svg?style=flat\u0026logo=appveyor)](https://ci.appveyor.com/project/gavazquez/lunamultiplayer/branch/master/tests) | [![Last commit](https://img.shields.io/github/last-commit/lunamultiplayer/lunamultiplayer/master.svg?style=flat\u0026logo=github\u0026logoColor=white)](../../commits/master) | [![Commit activity](https://img.shields.io/github/commit-activity/y/lunamultiplayer/lunamultiplayer.svg?style=flat\u0026logo=github\u0026logoColor=white)](../../commits/master) | [![Commits since release](https://img.shields.io/github/commits-since/lunamultiplayer/lunamultiplayer/latest.svg?style=flat\u0026logo=github\u0026logoColor=white)](../../commits/master)\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://ci.appveyor.com/project/gavazquez/lunamultiplayer/history\"\u003e\u003cimg src=\"https://buildstats.info/appveyor/chart/gavazquez/lunamultiplayer?buildCount=100\" alt=\"Build history\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"mailto:gavazquez@gmail.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/email-gavazquez@gmail.com-blue.svg?style=flat\" alt=\"Email: gavazquez@gmail.com\" /\u003e\u003c/a\u003e\n  \u003ca href=\"./LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/lunamultiplayer/LunaMultiPlayer.svg\" alt=\"License\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flunamultiplayer%2Flunamultiplayer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flunamultiplayer%2Flunamultiplayer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flunamultiplayer%2Flunamultiplayer/lists"}