Pryaxis / TShock

☕️⚡️TShock provides Terraria servers with server-side characters, anti-cheat, and community management tools.
GNU General Public License v3.0
2.41k stars 377 forks source link

Strip commands from TShock #912

Open QuiCM opened 9 years ago

QuiCM commented 9 years ago

Hijacked by @nicatronTg. This is the list of potential commands to be stripped out of TShock in TShock 5.

QuiCM commented 9 years ago

This will involve

hakusaro commented 7 years ago

I've gone through and added a preliminary list of things I think should be removed from TShock 5. I basically think the following types of commands should be removed:

I kinda think that it might be worth opening a separate repo for a "Gizmos" plugin that re-adds some of the most useful commands, but I don't think anyone will really care about removal of /annoy.

I'm looking for feedback on some if not all of these removals. Ideally, when TShock 5 launches, players will be able to download a package that maintains 1:1 functionality offered by TShock, even if that's through TShock + Gizmo + Essentials.

DogooFalchion commented 7 years ago

Perhaps dump all commands from tshock into a list and just mark which ones need to be moved to gizmos and just start accepting PR's for each command ?

hakusaro commented 7 years ago

I would like feedback on the above list @NyxStudios/tshock so we can start working on a gizmo plugin of sorts on the side so that migrating tshock and gizmo will be simpler in the long run. Might be pre-TShock 5 to have gizmo + tshock but overall easier to maintain codebase.

QuiCM commented 7 years ago

All of the above can be removed

EDIT: and probably more, I will look in a bit

hakusaro commented 7 years ago

Got it. Will wait on you to give go-ahead.

QuiCM commented 7 years ago

I propose the following can also be removed:

hakusaro commented 7 years ago

I think the *ban commands should be a separate separate plugin, i.e., not in gizmo but handled outside of Nyx. The rest all seem fine for general crap that can go in gizmo instead of TShock.

hakusaro commented 7 years ago

@WhiteXZ do you in general agree with the idea of a plugin like gizmo that contains these random commands that we distribute?

QuiCM commented 7 years ago

Yep, potentially multiple plugins that group similar functionality

hakusaro commented 7 years ago

Cool, in that case, I think stripping these earlier rather than later is a good plan. It gets us progress towards TShock 5 because we can start porting easy stuff as it comes.

hakusaro commented 7 years ago

Created shell repo @ https://github.com/NyxStudios/Gizmos.

DogooFalchion commented 7 years ago

Is the plan multiple .csprojects in one gizmo solution or multiple gizmo solution and repos?

hakusaro commented 7 years ago

I think just for simplicity with automating builds and development, it should be multiple .csprojects in one gizmo solution in one repo.

DogooFalchion commented 7 years ago

Can one of them be called Doo-dads ?

hakusaro commented 7 years ago

Maybe we can internally stick some junk like /annoy in the doo-dads one. :p

I think the next step is to make logical groupings for the commands so we know how many gizmos we have.

DogooFalchion commented 7 years ago

I agree,

Could be a potential split.

AxisKriel commented 7 years ago

I'd like to point out that some of the commands listed for removal are vanilla commands (/me, /p, I doubt /whisper is), but TShock's chat handling is currently killing them so we're just reinplementing them ourselves. This doesn't mean we cannot do the same a second time, it'd just be a feature regression if they don't run the plugin.

hakusaro commented 7 years ago

@Enerdy if they're vanilla commands, I actually see little to no reason why we even need to reimplement them in TShock. The reason why they're here is because they were created pre-vanilla commands.

Patrikkk-zz commented 7 years ago

I think the reason for it was to maybe tie them to a permission? My thought. Maybe Enerdy has more reasons. :D

hakusaro commented 7 years ago

Well, I mean, I can tell you straight up that, since TShock predates dedicated servers, it definitely predates the dedicated server's command handling for commands in the early days.

hakusaro commented 7 years ago

Working with @DogooFalchion, we're going to be moving commands into the Gizmos repo and removing them in the gizmo-plugin-removal branch.

tannertechnology commented 3 years ago

Would like to point out that /bloodmoon and /fullmoon have been successfully replaced with /worldevent in 4.4.pre3. Tested fullmoon, working perfect in TShock 4.5.4.