I recently ran into a dilemma while adding some HttpService-requiring features to Building Tools by F3X, and its Studio plugin version. Namely, the plugin automatically creates a NetworkServer so that all a user has to do is enable HttpService for all the features to work.
However, when in Solo test mode (in Studio), creating a NetworkServer causes Solo to mess up and behave awkwardly (the camera doesn’t stick to the player, the character doesn’t load, etc). There’s no reliable way of knowing whether Studio is in solo test modeΓÇöthe closest I was able to get was by checking Game.Visit, which loads after an arbitrary amount of time, but also appears when the place is opened via an Edit button.
(more on the issue here: [url]https://github.com/F3XTeam/ROBLOX-Building-Tools/issues/21[/url])
Can you guys add a way to tell if Studio is in solo test mode? Or allow HttpService to be used without having to create a server (for plugins)? Or unlock Game:HttpGet and Game:HttpPost for plugins? Also: could HttpService be enabled by default?
Nope. The plugins reload whenever solo mode starts, and that’s before the player joins, so it doesn’t know if it’s even going to be solo mode or what. As for knowing if there’s a NetworkServer already, it’s not necessary since if one already exists, it uses that oneΓÇöif it doesn’t exist, it makes it. The problem is knowing when it’s in solo mode so that it doesn’t make it (because then it messes things up).
the problem with allowing plugins to perform HTTP requests and posts is that you can have a useful and benign plugin but underneath it uploads source code and/or parts to a server.
don’t believe it’s not possible and that it won’t be done, because if HTTP is enabled some froob will make a super useful plugin that steals places secretly
[quote] the problem with allowing plugins to perform HTTP requests and posts is that you can have a useful and benign plugin but underneath it uploads source code and/or parts to a server.
don’t believe it’s not possible and that it won’t be done, because if HTTP is enabled some froob will make a super useful plugin that steals places secretly [/quote]
Not just that, it will also be authenticated to the current user. If somebody is smart enough they could do some pretty nasty things.
Strangely when places are opened with Edit buttons it seems like any calls made to ChangeHistoryService:SetWaypoint don’t register until Studio sets a waypoint natively, so this would also require user intervention