mirror of
https://github.com/MirrorNetworking/Mirror.git
synced 2024-11-18 02:50:32 +00:00
Update README.md
This commit is contained in:
parent
3c73385f62
commit
3c7fc575b0
90
README.md
90
README.md
@ -1,4 +1,5 @@
|
|||||||
![Mirror Logo](https://i.imgur.com/we6li1x.png)
|
![mMirror Logo](https://user-images.githubusercontent.com/16416509/119120944-6db26780-ba5f-11eb-9cdd-fc8500207f4d.png)
|
||||||
|
|
||||||
|
|
||||||
[![Download](https://img.shields.io/badge/asset_store-brightgreen.svg)](https://assetstore.unity.com/packages/tools/network/mirror-129321)
|
[![Download](https://img.shields.io/badge/asset_store-brightgreen.svg)](https://assetstore.unity.com/packages/tools/network/mirror-129321)
|
||||||
[![Documentation](https://img.shields.io/badge/docs-brightgreen.svg)](https://mirror-networking.gitbook.io/)
|
[![Documentation](https://img.shields.io/badge/docs-brightgreen.svg)](https://mirror-networking.gitbook.io/)
|
||||||
@ -6,23 +7,34 @@
|
|||||||
[![Video Tutorial](https://img.shields.io/badge/video_tutorial-brightgreen.svg)](https://www.youtube.com/playlist?list=PLkx8oFug638oBYF5EOwsSS-gOVBXj1dkP)
|
[![Video Tutorial](https://img.shields.io/badge/video_tutorial-brightgreen.svg)](https://www.youtube.com/playlist?list=PLkx8oFug638oBYF5EOwsSS-gOVBXj1dkP)
|
||||||
[![Forum](https://img.shields.io/badge/forum-brightgreen.svg)](https://forum.unity.com/threads/mirror-networking-for-unity-aka-hlapi-community-edition.425437/)
|
[![Forum](https://img.shields.io/badge/forum-brightgreen.svg)](https://forum.unity.com/threads/mirror-networking-for-unity-aka-hlapi-community-edition.425437/)
|
||||||
[![Build](https://img.shields.io/appveyor/ci/vis2k73562/hlapi-community-edition/Mirror.svg)](https://ci.appveyor.com/project/vis2k73562/hlapi-community-edition/branch/mirror)
|
[![Build](https://img.shields.io/appveyor/ci/vis2k73562/hlapi-community-edition/Mirror.svg)](https://ci.appveyor.com/project/vis2k73562/hlapi-community-edition/branch/mirror)
|
||||||
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=vis2k_Mirror&metric=coverage)](https://sonarcloud.io/dashboard?id=vis2k_Mirror)
|
|
||||||
[![Discord](https://img.shields.io/discord/343440455738064897.svg)](https://discordapp.com/invite/N9QVxbM)
|
[![Discord](https://img.shields.io/discord/343440455738064897.svg)](https://discordapp.com/invite/N9QVxbM)
|
||||||
[![release](https://img.shields.io/github/release/vis2k/Mirror.svg)](https://github.com/vis2k/Mirror/releases/latest)
|
[![release](https://img.shields.io/github/release/vis2k/Mirror.svg)](https://github.com/vis2k/Mirror/releases/latest)
|
||||||
[![Roadmap](https://img.shields.io/badge/roadmap-blue.svg)](https://trello.com/b/fgAE7Tud)
|
[![Roadmap](https://img.shields.io/badge/roadmap-blue.svg)](https://trello.com/b/fgAE7Tud)
|
||||||
|
|
||||||
**Stop worrying about networking. Because we do.**
|
**It's only the dreamers who ever move mountains.**
|
||||||
|
|
||||||
|
<img src="https://user-images.githubusercontent.com/16416509/119117854-3e4e2b80-ba5c-11eb-8236-ce6cfd2b6b07.png" title="Original Concept Art for Games that made us dream. Copyright Blizzard, Blizzard, Riot Games, Joymax in that order."/>
|
||||||
|
|
||||||
## Mirror
|
## Mirror
|
||||||
Mirror is a **high level** Networking library for **Unity 2019/2020 LTS**, compatible with different **low level** [Transports](https://github.com/vis2k/Mirror#low-level-transports).
|
Mirror is a **high level** Networking library for **Unity 2019/2020 LTS**, compatible with different **low level** [Transports](https://github.com/vis2k/Mirror#low-level-transports).
|
||||||
|
|
||||||
Mirror is for small indie games & large scale [MMOs](https://www.youtube.com/watch?v=mDCNff1S9ZU), made by the developers of [uMMORPG](https://assetstore.unity.com/packages/templates/systems/ummorpg-components-edition-159401) and [Cubica](https://www.youtube.com/watch?v=D_f_MntrLVE).
|
Mirror is for indie games & small [MMOs](https://www.youtube.com/watch?v=mDCNff1S9ZU), made by the developers of [uMMORPG](https://assetstore.unity.com/packages/templates/systems/ummorpg-components-edition-159401) and [Cubica](https://www.youtube.com/watch?v=D_f_MntrLVE).
|
||||||
|
|
||||||
Mirror is optimized for **ease of use** & **probability of success**.
|
Mirror is optimized for **ease of use** & **probability of success**.
|
||||||
|
|
||||||
We needed a networking library that allows us to **[launch our games](https://mirror-networking.com/showcase/)** and **survive the next decade**.
|
We needed a networking library that allows us to **[launch our games](https://mirror-networking.com/showcase/)** and **survive the next decade**.
|
||||||
|
|
||||||
Mirror is [stable](https://mirror-networking.gitbook.io/docs/general/tests) & [production](https://www.oculus.com/experiences/quest/2564158073609422/) ready.
|
Mirror is **[stable](https://mirror-networking.gitbook.io/docs/general/tests)** & **[production](https://www.oculus.com/experiences/quest/2564158073609422/)** ready.
|
||||||
|
|
||||||
|
## Free & Open
|
||||||
|
Mirror is **free & open source**!
|
||||||
|
* Code: MIT licensed.
|
||||||
|
* Dedicated Servers: [Anywhere](https://mirror-networking.gitbook.io/docs/guides/server-hosting)!
|
||||||
|
* Player Hosted: [Free Epic Relay](https://github.com/FakeByte/EpicOnlineTransport)!
|
||||||
|
|
||||||
|
We need Mirror for our own games, which is why we will never charge anything.
|
||||||
|
|
||||||
|
Funded only by [Donations](https://github.com/sponsors/vis2k) from our [fantastic community](https://discordapp.com/invite/N9QVxbM) of over 10,000 people.
|
||||||
|
|
||||||
## Architecture
|
## Architecture
|
||||||
The **Server & Client** are **ONE project** in order to achieve an order of magnitude gain in productivity.
|
The **Server & Client** are **ONE project** in order to achieve an order of magnitude gain in productivity.
|
||||||
@ -39,9 +51,8 @@ _Note: Mirror is based on Unity's abandoned UNET Networking system. We fixed it
|
|||||||
* (built in) [KCP](https://app.gitbook.com/@mirror-networking/s/docs/transports/kcp-transport): reliable UDP
|
* (built in) [KCP](https://app.gitbook.com/@mirror-networking/s/docs/transports/kcp-transport): reliable UDP
|
||||||
* (built in) [Telepathy](https://app.gitbook.com/@mirror-networking/s/docs/transports/telepathy-transport): TCP
|
* (built in) [Telepathy](https://app.gitbook.com/@mirror-networking/s/docs/transports/telepathy-transport): TCP
|
||||||
* (built in) [Websockets](https://app.gitbook.com/@mirror-networking/s/docs/transports/websockets-transport): Websockets
|
* (built in) [Websockets](https://app.gitbook.com/@mirror-networking/s/docs/transports/websockets-transport): Websockets
|
||||||
* Libuv: TCP powered by Node.js' native C networking
|
|
||||||
* [LiteNetLib](https://github.com/MirrorNetworking/LiteNetLibTransport/) UDP
|
|
||||||
* [Ignorance](https://github.com/SoftwareGuy/Ignorance/): ENET UDP
|
* [Ignorance](https://github.com/SoftwareGuy/Ignorance/): ENET UDP
|
||||||
|
* [LiteNetLib](https://github.com/MirrorNetworking/LiteNetLibTransport/) UDP
|
||||||
* [FizzySteam](https://github.com/Chykary/FizzySteamworks/): SteamNetwork
|
* [FizzySteam](https://github.com/Chykary/FizzySteamworks/): SteamNetwork
|
||||||
* [FizzyFacepunch](https://github.com/Chykary/FizzyFacepunch/): SteamNetwork
|
* [FizzyFacepunch](https://github.com/Chykary/FizzyFacepunch/): SteamNetwork
|
||||||
* [Epic Relay](https://github.com/FakeByte/EpicOnlineTransport): Epic Online Services
|
* [Epic Relay](https://github.com/FakeByte/EpicOnlineTransport): Epic Online Services
|
||||||
@ -56,41 +67,62 @@ Check out our [Documentation](https://mirror-networking.gitbook.io/) to learn ho
|
|||||||
If you are migrating from UNET, then please check out our [Migration Guide](https://mirror-networking.gitbook.io/docs/general/migration-guide).
|
If you are migrating from UNET, then please check out our [Migration Guide](https://mirror-networking.gitbook.io/docs/general/migration-guide).
|
||||||
|
|
||||||
## Made with Mirror
|
## Made with Mirror
|
||||||
![Population: ONE](https://steamcdn-a.akamaihd.net/steam/apps/691260/header.jpg?t=1603846067)<br/>
|
<table align="center">
|
||||||
[Population: ONE](http://www.populationonevr.com/)
|
<tr>
|
||||||
|
<th><a href="http://www.populationonevr.com/">Population: ONE</a></th>
|
||||||
![Zooba](https://i.imgur.com/4TY0XoY.png)<br/>
|
<th><a href="https://wildlifestudios.com/games/zooba/">Zooba</a></th>
|
||||||
[Zooba](https://wildlifestudios.com/games/zooba/)
|
<th><a href="https://store.steampowered.com/app/700330/SCP_Secret_Laboratory/">SCP: Secret Laboratory</a></th>
|
||||||
|
<th><a href="https://naicaonline.com/">Naïca Online</a></th>
|
||||||
![SCP: Secret Laboratory](https://steamcdn-a.akamaihd.net/steam/apps/700330/header.jpg?t=1604668607)<br/>
|
</tr>
|
||||||
[SCP: Secret Laboratory](https://store.steampowered.com/app/700330/SCP_Secret_Laboratory/)
|
<tr>
|
||||||
|
<td><img src="https://steamcdn-a.akamaihd.net/steam/apps/691260/header.jpg?t=1603846067" height="100"/></td>
|
||||||
![Naïca Online](https://i.imgur.com/VrBqvtz.png)<br/>
|
<td><img src="https://user-images.githubusercontent.com/16416509/119125684-ac96ec00-ba64-11eb-9c0c-c6595e00dec8.png" height="100"/></td>
|
||||||
[Naïca Online](https://naicaonline.com/)
|
<td><img src="https://steamcdn-a.akamaihd.net/steam/apps/700330/header.jpg?t=1604668607" height="100"/></td>
|
||||||
|
<td><img src="https://i.imgur.com/VrBqvtz.png" height="100"/></td>
|
||||||
![Laurum Online](https://i.imgur.com/2I8wnxO.png)<br/>
|
</tr>
|
||||||
[Laurum Online](https://laurum.online/)<br/>
|
<tr>
|
||||||
|
<th><a href="https://laurum.online/">Laurum Online</a></th>
|
||||||
|
<th><a href="https://www.samutale.com/">SamuTale</a></th>
|
||||||
|
<th><a href="https://store.steampowered.com/app/1313210/Nimoyd__Survival_Sandbox/">Nimoyd</a></th>
|
||||||
|
<th><a href="https://store.steampowered.com/app/719200/The_Wall/">The Wall</a></th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><img src="https://camo.githubusercontent.com/6d50af6cbe0fcfc465f444f75475a356c6c14b4a3a9534156cfdd578e7d45a9f/68747470733a2f2f692e696d6775722e636f6d2f324938776e784f2e706e67" height="100"/></td>
|
||||||
|
<td><img src="https://user-images.githubusercontent.com/16416509/119000119-65a1eb80-b9bd-11eb-9d8b-5fdc5a6e28e3.png" height="100"/></td>
|
||||||
|
<td><img src="https://cdn.akamai.steamstatic.com/steam/apps/1313210/header.jpg?t=1616227358" height="100"/></td>
|
||||||
|
<td><img src="https://cdn.akamai.steamstatic.com/steam/apps/719200/header.jpg?t=1588105839" height="100"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><a href="https://nestables.co/">Nestables</a></th>
|
||||||
|
<th><a href="https://www.glimpse-luna.com/">A Glimpse of Luna</a></th>
|
||||||
|
<th><a href="https://store.steampowered.com/app/535630/One_More_Night/">One More Night</a></th>
|
||||||
|
<th><a href="">Cubica</a></th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><img src="https://user-images.githubusercontent.com/16416509/119001349-7a32b380-b9be-11eb-86fd-a116920842d1.png" height="100"/></td>
|
||||||
|
<td><img src="https://user-images.githubusercontent.com/16416509/119001595-b0703300-b9be-11eb-9e40-6542113dc1a2.png" height="100"/></td>
|
||||||
|
<td><img src="https://cdn.akamai.steamstatic.com/steam/apps/535630/header.jpg?t=1584831320" height="100"/></td>
|
||||||
|
<td><img src="https://i.ytimg.com/vi/D_f_MntrLVE/maxresdefault.jpg" height="100"/></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
And [many more](https://mirror-networking.com/showcase/)...
|
And [many more](https://mirror-networking.com/showcase/)...
|
||||||
|
|
||||||
## Funding
|
|
||||||
Mirror is free & open source software funded by [Donations](https://github.com/sponsors/vis2k). If you love it, please consider supporting [Mirror on GitHub](https://github.com/sponsors/vis2k). As reward, you'll receive our [Network Profiler](https://mirror-networking.gitbook.io/docs/guides/network-profiler), priority support and more :)
|
|
||||||
|
|
||||||
## Benchmarks
|
## Benchmarks
|
||||||
* [uMMORPG 480 CCU worst case test](https://youtu.be/mDCNff1S9ZU) (everyone broadcasting to everyone else)
|
* [uMMORPG 480 CCU](https://youtu.be/mDCNff1S9ZU) (worst case)
|
||||||
* [Latest Results](https://docs.google.com/document/d/1GMxcWAz3ePt3RioK8k4erpVSpujMkYje4scOuPwM8Ug/edit?usp=sharing)
|
* [Jesus' Benchmarks](https://docs.google.com/document/d/1GMxcWAz3ePt3RioK8k4erpVSpujMkYje4scOuPwM8Ug/edit?usp=sharing)
|
||||||
|
|
||||||
## Development & Contributing
|
## Development & Contributing
|
||||||
Mirror is used **in production** by games ranging from small indie projects to large scale MMOs that will run for a decade or more.
|
Mirror is used **in production** by everything from small indie projects to million dollar funded games that will run for a decade or more.
|
||||||
|
|
||||||
10 years from now if your players encounter a networking bug and most of our contributors already moved on, someone will need to fix it. Therefore it is of utmost importance for us to follow the [KISS principle](https://en.wikipedia.org/wiki/KISS_principle) in order for our games to survive.
|
Therefore it is of utmost importance for us to follow the [KISS principle](https://en.wikipedia.org/wiki/KISS_principle) in order for our games to survive, so that we can still fix networking bugs 10 years from now if needed.
|
||||||
|
|
||||||
Keeping the next decade in mind, contributing **fixes** / **tests** / **improvements** is highly appreciated while new features have a low probability of being merged.
|
Keeping the next decade in mind, contributing **fixes** / **tests** / **improvements** is highly appreciated while new features have a low probability of being merged.
|
||||||
|
|
||||||
_At this point, what we don't add to Mirror is more important than what we do add to it!_
|
_At this point, what we don't add to Mirror is more important than what we do add to it!_
|
||||||
|
|
||||||
# Bug Bounty
|
# Bug Bounty
|
||||||
<img width="470" src="https://user-images.githubusercontent.com/16416509/110572995-718b5900-8195-11eb-802c-235c82a03bf7.png">
|
<img src="https://user-images.githubusercontent.com/16416509/110572995-718b5900-8195-11eb-802c-235c82a03bf7.png" height="150">
|
||||||
|
|
||||||
A lot of projects use Mirror in production. If you found a critical bug / exploit in Mirror core, please reach out to us in private.
|
A lot of projects use Mirror in production. If you found a critical bug / exploit in Mirror core, please reach out to us in private.
|
||||||
Depending on the severity of the exploit, we offer $50 - $500 for now.
|
Depending on the severity of the exploit, we offer $50 - $500 for now.
|
||||||
|
Loading…
Reference in New Issue
Block a user