How the IT community of players developed the MMO ecosystem

There are quite a few games that the community regularly maintains with mods. For my dearly beloved Fallout: New Vegas, modifications are also released six years after the end of support. For some other games (hello EVE!), People run google signs, and for others they just write detailed guides or draw small diagrams.





I'll tell you about the game for which the community does all of the above and even more, about Elite: Dangerous.






Elite Dangerous β€” , , , β€œβ€ , , :





  • . , , , . , ! , , , , .





  • . -, ( ) , 1:1. , Stellar Forge, , , , , . , , .

    -, , , β€œβ€. , . , , , ( ), , , , .





  • , , .





  • - , : Canonn, ( -- ). , , , , , , - Close Encounters Corps.





  • , , - Orca, - Imperial Cutter.





. , , .





-, Frontier OAuth, . , , .



Ktor (- Kotlin)





val FRONTIERSTORE_URL = "https://auth.frontierstore.net"
val settings = OAuthServerSettings.OAuth2ServerSettings(
   name = "frontier",
   authorizeUrl = "$FRONTIERSTORE_URL/auth",
   accessTokenUrl = "$FRONTIERSTORE_URL/token",
   requestMethod = HttpMethod.Post,
   clientId = "...",
   clientSecret = "...",
   defaultScopes = listOf("auth", "capi")
)
class CompanionAPI(val authType: String, val token: String) {
   val baseUrl = "https://companion.orerve.net"

   suspend fun getProfile(): JsonNode {
       val rawValue = get("/profile")
       val value = readJson(rawValue)
       return value
   }    

   suspend fun getFleetCarrier(): JsonNode {
       val rawValue = get("/fleetcarrier")
       val value = readJson(rawValue)
       return value
   }    

   private suspend fun get(url: String): String {
       return http.get(baseUrl + url) {
           header(HttpHeaders.Authorization, "$authType $token")
       }    
   }    
}

      
      



2015-, , , EDSM. , , , , , , , REST API.

https://www.edsm.net

(httpie):





$ http https://www.edsm.net/api-v1/system 'systemName=HIP 74258' showCoordinates=1

{
    "coords": {
        "x": 112.4375,
        "y": 70.4375,
        "z": 206.65625
    },
    "coordsLocked": true,
    "name": "HIP 74258"
}

      
      



EDDB. , . . API JSON- : , , , , . - , - . , , .

https://eddb.io





Colonia Region Systems Database. , β€” .

https://cdb.sotl.org.uk





Inara. , , , , , . , .

https://inara.cz

https://inara.cz/inara-api/





EDMarketConnector. - , , , ? : - EDMC, Python, JSON- ., , , , , API EDSM, INARA EDDN, . Python 3, tkinter, .

https://github.com/EDCD/EDMarketConnector





EDDN. Elite. EDMC , , . API, ZeroMQ JSON . , - , . , Python 3 JS.

https://eddn.edcd.io

https://github.com/EDCD/EDDN





Coriolis ED Shipyard. - . , , , , 180 , . , JavaScript, .

https://coriolis.io https://github.com/EDCD/coriolis

https://edsy.org https://github.com/EDCD/EDSY





EDDiscovery. , EDMC, : , , . C#, .

https://github.com/EDDiscovery/EDDiscovery





VoiceAttack. β€” ! VA, ($10) .

https://voiceattack.com





FCMS. , -, , . , . Python, JS.

https://github.com/FuelRats/FCMS





, : EDMC EDDiscovery , EDDN EDDB, EDSM, INARA , , , INARA EDMC, .





. , , EDDB EDDN, API EDSM, EDMC , .





?





Close Encounters Corps 2020, EDMC, Triumvirate, , -, API , , google-.





, , Kotlin. , , , JVM JS . , , kotlin back-end', . , API-. .





Close Encounters Corps Platform

:





  • Ktor. . HTTP4K , Spring , , Ktor’ , . , , OAuth … , , API. , ?





  • β€” Jackson. kotlinx.serialization , Moshi , Jackson .





  • Koin. -, Koin. Kotlin, API. Dependency Injection. .





  • Hibernate. , Jackson. Exposed , , . JOOQ β€” . , , , .





  • MySQL. , . . , , , , β€œ ” . , , , JSON , , ?





:





  • KVision. , , , . , . - , - β€” , - β€” JS-, , Robert Jaros . .





  • Fomantic UI. , . , , Gitea Fomantic-UI, Semantic-UI. , Bootstrap, .





  • Kotlinx-serialization. JSON Kotlin/JS , , Jackson JVM. Kotlinx.





?





, β€” Krait. , , .





, Hibernate. DSL, ( CoroutineDispatcher, ), , . β€œβ€! SessionFactory , , , β€” DSL.





, ( API, access-, ) ClickHouse. - AORM , .





, ( ) Docker Raspberry Pi 4. . -, IP - VPS. -, , . , , , β€” , . , , Raspbian , , , Ubuntu 20.10.





, Caddy, TLS , nginx.





! , . : - ( ) , - - ( , UI ), , . 





? , . , , , . , , , Epic Games Store , 350 ED , .





If you are looking for a pet project in Kotlin / JVM, Kotlin / JS or Python, you want to rewrite our front on some interesting JS framework, bring in kafka and microservices, or just want to help us, Close Encounters Corps, then go to our Discord- server or email me directly (dis: Osmium # 5856). There is an invite to the server, for example, in the links of the VK community ( https://vk.com/close_encounters_corps ). We are looking forward to your ideas and will simply be grateful for your support.





If you want to help any of the other listed projects, most of them are part of the so-called. ED Community Developers, here is the site ( https://edcd.github.io ), go to the EDCD discord there, and look for a project you like.








All Articles