Devember - Screep Studio

Good to know it’s ok.

I am just kind of using the thread to track progress at this stage and being able to look back at the screenshots from early on helps with motivation.

If anything my periodic spamming might help introduce new players to the Screeps MMO.

Shecks

2 Likes

Will it be possible to use this client completely without Steam?
And what servers can be compatible with such mode, only specially patched?

1 Like

Hey Vort,

The plan is to have the client work with both the private (opensource) servers and the live Screeps server. At the moment it can connect and work with both but I haven’t built the login UI components yet so the login credentials are hard-coded and client needs to be re-compiled to switch between them.

For the private server it uses the screepsmod-auth server mod. From what I can see, most of the private servers being hosted use this mod for username/password authentication without Steam.

Currently the only way to authenticate with the live Screeps server is via a Steam auth token so you need to have a steam account (and have purchased the game) in order to generate the token (you only need to do this once in your account on the Steam website) but other than that my client doesn’t require Steam or the Screeps Steam client to be install on the machine you run the client on.

The live server also has rate limits on some of the REST API endpoints and also only supports 2 concurrent room subscriptions. As far as I can see the rate limiting won’t affect viewing rooms (limited to 2 at once) but might be an issue when I add the code editing part of the client because there is a limit on how many times per day you can upload your code changes to the server.

My client also supports opening more than 2 rooms at a time and I’ve had to make a small change to the private server to support this (single line change). It might be possible to do this via a mod so that it’s easy for people to install on private servers but it will require a small change by the Devs to expose the subscription limit as a config option.

Shecks

1 Like

Thanks for the answer.
I was thinking that screepsmod-auth besides login-password pair is requiring some Steam interaction.
So if your login-pass pair is registered by server administrator, then it will be possible to play at it with Screep Studio, right?

With regard to private servers only the owner/administrator of the private server would need to have a Steam account and have purchased the Screeps game. While they do not need to have Steam installed on their server, they do need to have a Steam API key set in the configuration file for the Screeps server.

Most private server admins will have the screepsmod-auth installed so the player only needs to have a username and password on the server to play. I am not sure how server admins currently do this, I think they can setup the username/password using the Screeps CLI but I also think that there is a user registration API either as part for the Screeps API or the screepsmod-auth API. I might be able to add some kind of username/password registration UI to Screep Studio at some point.

In short, I think the only time you would need to have Steam (for the Screeps auth token) would be if you wanted to play on the live Screeps server as it does not allow the screepsmod-auth access method.

In saying that, I would recommend purchasing the game if you enjoy playing it (it’s on sale quite a lot) because it does give you access to the live server and the public test realm as well as supporting the developers who have made the private server free to download (You can also host your own dedicated private server too :slight_smile: )

1 Like

Looks like screepsmod-auth have a good alternative to passwords: GitHub login.
But trying /api/auth/github request on screeps.fordo.sk:21025 returns TypeError: OAuth2Strategy requires a clientID option.
Maybe you know which server is tuned correctly so this option is working?

upd. Yes, you are right. Login-pass register API is at /api/register/submit: https://imgur.com/a/GCFhGSW

1 Like

I haven’t tried the Github authentication yet but it looks like it’s not enabled for screeps.fordo.sk

If you go to the http://screeps.fordo.sk:21025/api/authmod endpoint it returns the following JSON

{
    "ok": 1,
    "name": "screepsmod-auth",
    "version": "2.4.6",
    "allowRegistration": true,
    "steam": true,
    "github": false
}

So I guess it’s turned off :frowning:

Cool, that’s good to know, I like that Wfetch tool too. I’ve just been using Chromium tools to explore the API but that looks a lot more useful. Thank you.

Now I have a choice: to make my own client or to wait for yours :smile:

1 Like

That’s cool, you should definitely keep working on it. I don’t know when I will be happy enough with my code to opensource it so it might be a while.

We can compare notes on the API too :+1:

1 Like

Out of curiosity, hows this project going?

Like most of open source projects.
You may track progress here:
github[dot]com/MrShecks/screep-studio

Or participate in it by making a fork.