CubeCoders / AMPTemplates

For the AMP community to share Generic Module templates.
93 stars 281 forks source link

Screeps - Implementation #127

Open mkaulfers opened 2 years ago

mkaulfers commented 2 years ago

Module Request

I'm requesting that Screeps be added to the list of supported games. Tons of players on this game rely on servers to test/debug their code for in-game. I would like it to support mods, which are generally just added to a config. There aren't that many mods, and I have listed the 3 most important at the bottom of this request.

Game Information: MMO-Sandbox for Programmers

Game Title: Screeps How to obtain: https://screeps.com Suppoted OSs: Windows, Mac, Linux Supports RCON/Console input? yes

I confirm:

Additional Information:

Attempted Configuration

App.AdminMethod=STDIO
App.ApplicationPort1=21025
App.ApplicationReadyMode=RegexMatch
App.BaseDirectory=./screeps---world/
App.CommandLineArgs=+ip {{$ApplicationIPBinding}} +port {{$ApplicationPort1}} +queryport {{$ApplicationPort2}} +rconpassword "{{$RemoteAdminPassword}}" +maxusers {{$MaxUsers}} {{$FormattedArgs}}
App.CommandLineParameterDelimiter= 
App.CommandLineParameterFormat=-{0} "{1}"
App.DisplayName=Screeps - World
App.ExecutableLinux=screeps.exe
App.ExecutableWin=screeps.exe
App.ExitMethod=String
App.ExitString=stop
App.HasReadableConsole=true
App.HasWritableConsole=true
App.RapidStartup=false
App.RemoteAdminPort=21025
App.RootDir=./screeps---world/
App.UpdateSource=Multi
App.UpdateSources=[{"UpdateStageName": "GitHub Release Download","UpdateSourcePlatform": "All", "UpdateSource": "GithubRelease", "UpdateSourceData": "https://github.com/screeps/screeps"}]
App.WorkingDir=
Console.AppReadyRegex=^Screeps server v\d{1,3}.\d{1,3}.\d{1,3} running on port \d{2,5}.$
Console.ThrowawayMessageRegex=
Console.UserChatRegex=
Console.UserJoinRegex=
Console.UserLeaveRegex=
Meta.Author=xTwisteDx
Meta.ConfigManifest=screeps---worldconfig.json
Meta.ConfigRoot=screeps---world.kvp
Meta.Description=MMO sandbox game for programmers
Meta.DisplayImageSource=url:https://github.com/screeps/screeps/raw/master/logo.png
Meta.DisplayName=Screeps - World
Meta.EndpointURIFormat=
Meta.OS=3
Meta.URL=www.screeps.com

Request support for mods which are generally loaded via a config.yml such as.

mods:
  - screepsmod-auth
  - screepsmod-admin-utils
  - screepsmod-mongo

Those are the bare-minimum to make the server even worth-while. They can be found at

https://github.com/ScreepsMods/screepsmod-auth https://github.com/ScreepsMods/screepsmod-admin-utils (Dependency On Mongo) https://github.com/screepsmods/screepsmod-mongo

Currently I Run it on my Machine with Docker Compose This may not be useful to get it working in AMP, but I want to help in any way I can.

version: '3'
services:
  screeps:
    image: jomik/screeps-server:edge
    depends_on:
      - mongo
      - redis
    ports:
      - 21025:21025/tcp
    volumes:
      - ./config.yml:/screeps/config.yml
    environment:
      MONGO_HOST: mongo
      REDIS_HOST: redis
      STEAM_KEY: ${STEAM_KEY:?"Missing steam key"}
    restart: unless-stopped

  mongo:
    image: mongo
    volumes:
      - mongo-data:/data/db
    restart: unless-stopped

  redis:
    image: redis
    volumes:
      - redis-data:/data
    restart: unless-stopped

volumes:
  redis-data:
  mongo-data:
IceOfWraith commented 2 years ago

Related: https://github.com/CubeCoders/AMPTemplates/pull/94