ServerMod / MultiAdmin

SCP: Secret Labratory Server modification to support different configs per instance plus a whole lot of other features
MIT License
43 stars 24 forks source link

Suggestion - Admin Features #110

Closed Evo-c closed 6 years ago

Evo-c commented 6 years ago

Hi there

Summary: So at the moment I'm manually adding a public bool to the Login class so when a user logs in to the RemoteAdmin I can allow them to do other various things, It's been helpful here and there so I thought I'd suggest it so others can benefit.

Suggestion details: On the Server check to see if user is logged in to RemoteAdmin, if so check name against one stored in config. If name from config then set a bool to true and have the following checked against it:

At the end of the round set the bool back to false.

On the CLIENT assembly apply a check to see if logged in, request permission from server? (I don't do this right now I only check if user is logged in, but doing things client-side probably isn't the best solution). If logincheck is true the apply check to the following:

Other helpful things, can't remember off the top of my head what else I changed, but you get the idea.

End of the round OR on a disconnect/connect lock use of the console again so it cannot be used for cheating on other servers.

Again it's made life easier for myself having these extras, it could help out others. The server side of things really lacks administration tools at the moment that is a shame considering RemoteAdmin tends to only work 50% of the time.

REALMWTH commented 6 years ago

Great stuff! Also there's clientide variable in GameConsole class that is set true if player's hosting server by himself. And it's false if player is joining another server. But the code class can be easily deleted. So you can use console anywhere. I think it's time to call Hubert to make this variable serverside and FINALLY OBFUSCATE Assembly DLL!!!

Evo-c commented 6 years ago

Just to add some ideas, some useful commands I've added include - NUKE - Starts the nuke and disables switching the lever. NOSTOPNUKE - Prevents lever being changed for those that like to troll and prolong rounds. STOPNUKE - Cancels current nuke. OPENDOORS - Opens all doors on the map. CLOSEDOORS - You guessed it, closes the doors. NTFSPAWN - Spawns a group of NTF. CISPAWN - Spawns a group of CI. NOINTERCOM - Disables intercom for the round. NOVOICE - Stops voice chat when it gets annoying.

Perhaps a few of these you might like the look of, thought I would share anyway.

Evo-c commented 6 years ago

@realmbmc With item verification the console alone really cannot do much, it was only a risk due to spawning items, now that's removed it's fine. Obfuscation would mean no more servermod or being able to add custom content, that's not the solution! The solution is exactly what they've been doing recently, adding checks and having the server do the work instead of the client!

Do wish Hubert would remove the noclip class though.

ButterscotchV commented 6 years ago

Hey, just to let you know, at this time, I've finished two of your suggested commands:

NUKE: Usage: NUKE [ON / OFF / START / STOP / LOCK / UNLOCK]

DOORS: Usage: DOORS [OPEN / CLOSE]

I may or may not do the other commands, but I'll think about it.

Grover-c13 commented 6 years ago

So at the moment I'm manually adding a public bool to the Login class so when a user logs in to the RemoteAdmin I can allow them to do other various things, It's been helpful here and there so I thought I'd suggest it so others can benefit.

This might be better of being left out and added in via a plugin when Smod2 integration is complete (right now i think that will be coming after 1.7 :) https://github.com/Grover-c13/Smod2/tree/master/Smod2/Smod2). There will be RemoteAdmin hooks including on password enter.

We probably arent going to be offering a mod for the client sorry :(, but again Smod2 plugins may enable such functionality to work with a companion client side mod.

We might be able to stop noclip exploit, ill look into it.

Evo-c commented 6 years ago

@Dankrushen Awesome, I can't tell you helpful these commands have been to me so others will enjoy them!

@Grover-c13 Understandable, it would complicate things. The hooks and plugins sound really exciting though!

ReckerXF commented 6 years ago

Also you should make it more game-panel friendly. I'd like to add a game panel to my VPS so I can let my management staff restart, stop, and tend to the server without having direct VPS access. Maybe to do this you could make it so there is one .exe per server?

ShingekiNoRex commented 6 years ago

@blizzard2023 I think the only way is to make another program by yourself, which can call SendMessage in MultiAdmin.

ButterscotchV commented 6 years ago

I believe that you could just start multiple instances of MultiAdmin, although I don't think that would be very optimal, and you could also just use LocalAdmin

Evo-c commented 6 years ago

@blizzard2023 You'll love me after reading this. FireDaemon Fusion, you're welcome.

ReckerXF commented 6 years ago

I already have a game panel @E-v-o . I just need to know from @Grover-c13 if it's possible if with the next update he can make it so you can launch a certain .exe for a certain config. Doing this would make it compatible with game panels.

Grover-c13 commented 6 years ago

You already can :) MultiAdmin.exe \<configid>

ReckerXF commented 6 years ago

:O I love you @Grover-c13 !

Evo-c commented 6 years ago

@blizzard2023 Oh what panel are you using >_>?

ReckerXF commented 6 years ago

@E-v-o I'm going to be using a custom one that a friend built.

ReckerXF commented 6 years ago

Another suggestion, it'd be awesome if Grover could implement a ban reason along with a log of bans/kicks.