Skip to content

ECO Server Strange Loop Games Token authentication #286

Open
ArthurErlich wants to merge 9 commits intopterodactyl:mainfrom
ArthurErlich:eco-auth-switch
Open

ECO Server Strange Loop Games Token authentication #286
ArthurErlich wants to merge 9 commits intopterodactyl:mainfrom
ArthurErlich:eco-auth-switch

Conversation

@ArthurErlich
Copy link

@ArthurErlich ArthurErlich commented Oct 14, 2025

Description

Strange Loops Games removed the user and pass authentication and replaced it with a token based authentication.

Checklist for all submissions

  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same update/change?
  • Have you tested and reviewed your changes with confidence that everything works?
  • Did you branch your changes and PR from that branch and not from your master branch?
    • If not, why?:
  • You verify that the start command applied does not use a shell script
    • If some script is needed then it is part of a current yolk or a PR to add one
  • The egg was exported from the panel

@danny6167
Copy link
Member

I agree that we need to at least add token authentication, but don't they still support username/password authentication? This worked fine when I was testing last week.

@ArthurErlich
Copy link
Author

Thanks for the replay,
I did a test, or rather i wanted the server running and id blocked me there that the authentication with password failed.
But it can be because i did not created a strange loop games account in the first place, It was created via Steam.

Tested it with:
SLG_username + Token
Steam_username + Token

@danny6167 Can you check if the login with username+password works? I will re add the login and make both option available if username and password still work.

@danny6167
Copy link
Member

Yep I'll double check it tonight.

It would be great to move people to token only, but I also don't want to break existing installs if they are working.
Perhaps it would be best to retain the user/pass option but mention in the description that it's a deprecated option that will be removed in future.

@danny6167
Copy link
Member

Can confirm - SLG username and password based authentication do still work

@ArthurErlich
Copy link
Author

I changed the startup script. It will now switch between username/password or the token, depending on what is filled.

It looks like the Laravel code required_without:SLG_TOKEN does not work correctly—maybe a limitation of the parser in the panel? Furthermore, it parses the variable weirdly.

That is why I added a description text and warned the user that they should use either the token or the username and password.

Updated the exported_at date and modified startup command to include user authentication options. Enhanced account settings with descriptions for SLG Token, Username, and Password.
@danny6167
Copy link
Member

The way you've don't this startup is overly complicated.
You can include a flag only if it's set using syntax like this for example.
$([ -n "$SERVER_PASSWORD" ] && echo "-serverpassword=\"${SERVER_PASSWORD}\"")

And yes, unfortunately due to the way the validation rules are applied you can't use required_without: and other rules that need to consider cross-fields.

@ArthurErlich
Copy link
Author

Thanks for the Reply and i wish for a good new year.

Yes, I know that my solution is a bit complicated. My Idea was to stop the user to fill both Password and Token field and getting an error.

But if you wish, I can also just change to your snipped and just echoing the start parameter when the field is filled in the config

$([ -n "$SERVER_PASSWORD" ] && echo "-serverpassword=\"${SERVER_PASSWORD}\"")

@danny6167
Copy link
Member

Happy new year.
Yes, Please go ahead and change to that style of variable use.

@ArthurErlich
Copy link
Author

ArthurErlich commented Feb 21, 2026

Hello @danny6167.

I finally found some time to modify and test the changes.
There is also an offline mode for ECO. I found a web host that documented the offline flag a bit.

The startup script looks like this for now:

./EcoServer \
$([ -n "$SERVER_PASSWORD" ] && echo "-serverpassword=\"${SERVER_PASSWORD}\"") \
$([ -n "$SLG_TOKEN" ] && echo "-userToken=\"${SLG_TOKEN}\"") \
$([ -n "$SLG_USER" ] && echo "-username=\"${SLG_USER}\"") \
$([ -n "$OFFLINE_MODE" ]  && echo "-offline") \

Simply print the flag it is set.

I am also not able to reliably test the configs because of some errors in the Network.template file:

Failed to start the server. Exception was Exception: JsonReaderException
Message:Error reading JObject from JsonReader. Path '', line 0, position 0.
Source:Newtonsoft.Json
Newtonsoft.Json.JsonReaderException: Error reading JObject from JsonReader. Path '', line 0, position 0.
   at Newtonsoft.Json.Linq.JObject.Load(JsonReader reader, JsonLoadSettings settings)
   at Newtonsoft.Json.Linq.JObject.Parse(String json, JsonLoadSettings settings)
   at Newtonsoft.Json.Linq.JObject.Parse(String json)
   at Eco.Core.Plugins.PluginConfig`1.LoadAsync(String filename)
Outer Exceptions:
One or more errors occurred. (Error reading JObject from JsonReader. Path '', line 0, position 0.)[

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants