Forums » Suggestions

Make LUA plugins in game only and public

Jan 05, 2023 greenwall link
Somewhat aligned with this discussion which is necrotic

I propose that alongside potential updating of LUA API there is a conversion of the plugin system such that plugins may only be loaded internally from a game-wide available database available inside the game itself.

The reason for this is the massive advantage plugins currently give users to gameplay over users who don't use them, and the presumption that additional improvements will only further that divide.

If certain people want to hide their plugin tech they can still use logins to external servers like they do now, but at least we all can see what's out there.

This would also make plugins MUCH easier for people to use/access overall, given the current scope and availability of public plugins to date -- leveling the playing field for many.

Everything would be "use at your own risk".
Jan 05, 2023 IronLord link
+1 to having accessible streamlined plugins public to everyone', so that everyone has equal asvantage
Jan 05, 2023 Luxen link
How do people create new plugins in this system?
How do the devs manage this database?
There are existing plugins that really ought to be depreciated or handed over to a new maintainer, how is this managed? (Existing issue with VOUPR too, mind you)
Why wouldn't these psuedo-plugins just be implemented into the game itself if the devs are managing it?

I'm HIGHLY against this kind of consolidation. I agree that "hiding" plugins behind a guild/group wall is a bit meh if such plugin provides some amazing capability, but - for instance, FAMY's payment tracking system - why should EVERYTHING necessarily be publicly available? Or what about plugins that aren't exactly in a state to be shared, such as my TeamDX event hosting system (Which I have shared but it really isn't MEANT to be available, so its near useless).

The majority of plugins ARE publicly available, and can be installed on every system (afaik), and are really only either stopgaps until official support can be made (DroidButtons), automation of existing functionality doable by hand (TradeAssist, etc), or Aesthetical in nature (Speedwarp, Tapehud, Honk, etc), or some mixture of all three.

This really is just an overcomplicated answer to a minor issue, imo...
Jan 05, 2023 greenwall link
People would make plugins like usual but could only test them client side on the test server.

I'm sure incarnate is very capable of designing things to optimize management (see report system).

I think there are enough dedicated lua-minded community members who would take the lead on moving over whatever plugins on VOUPR and elsewhere that would serve the community as a whole.

Why wouldn't these psuedo-plugins just be implemented into the game itself if the devs are managing it?

It takes a lot of overhead to include plugins functionality into the game itself, Luxen, why do you even pose that question? lol

Plugins should be publicly available and accessible in game because of the reasons I stated in the OP which you may kindly re-read. Plugins that aren't ready for sharing can be kept personally and used on the test server.

btw I can't edit the OP, otherwise I'd try to make that url work
Jan 05, 2023 starblazzz link
+1 plugins should be easier to get, some kind of community plugin feed would be nice. Although this may require some kind of built in plugin tool for development. A plugin rating system would be sweet.
Jan 05, 2023 haxmeister link
believe it or not, I'm not entirely opposed to this.. but I think there is a better/simpler solution that might solve all the issues mentioned, without being a detriment to the work of plugin developers. I am the author of more than one "private" plugins.. probably having about 10 or so that are currently operating and not readily given. They DO provide some advantages, but those advantages aren't really what some imagine them to be... and there are publicly available plugins that provide most of those same functionalities already anyway:

These are the main bits of information that are often provided by plugins, both private and public:

GAME DATA:

1. Spots - Sharing information about what other players you can see in the sector you are in.

2. Ore databases - a collection of saved information about the location and percentage of ores that have been scanned

3. Trade databases - a collection of data about what station things are sold at, and sometimes the price as well

4. Targeting - plugins that post target information to chat for others to see

COMBAT ASSISTANCE:

1. Color changing HUD to help judge distances to opponents

2. Changed HUD - to allow for easier display of combat related data.. ie.. a health bar for the opponent that is near the center of the screen

3. Targeting - plugins that allow sorting and selecting opponents easily in congested sectors, or that change to the next nearest opponent when your current target dies.. like used when botting/grinding, or in large PVP interactions.

4. Shared targeting - One leader of a group can send a message to other members and their plugin will automatically target the same opponent.. this helps with leviathans, Deneb and other interactions where a leader is trying to get everyone attacking the same opponent or turret.

5. Chain firing - Plugin that uses the grouped weapons switching feature to fire one gun and then the other repeatedly with a single button being held down.

GAME EXPERIENCE:

1. Private chat channels that use a private server to secure communication both from other players, but also from moderators.

2. Movable HUD components because things aren't always where you prefer

3. Skins

4. Sounds - plugins that make funny sounds while you play, like horns or kill messages

5. Alerts - plugins that make certain alerts more visible so that you don't miss them.. like your capship is under attack, or the station is under attack.

ROLE PLAY:

1. Plugins that keep track of time for "warranties" or other nefarious player pirate extortions.

2. Plugins that alter the words you put in chat, to fake an accent.. ie.. "pirate speak".. though to be respectful, please do know that our favorite pirate "Cap-n Blood" does not actually use a plugin for this, he's just damn good at making pirate like phrases.

3. Plugins that manage your hail messages, so you have more than one available at a keypress

4. Plugins that automatically pay.. like to pay a particular pirate with a single keystroke

All of these functionalities are made possible through the plugin system and are acceptable to developers.. they have been haggled over for years, and many abilities have been removed from the plugin system because they allowed for automation of the player's ship. Originally this automation was something the Devs were kind of ok with, but it got out of hand. Therefore you can no longer issue commands that control your ships movement, nor can you determine your actual position on the 3D grid in a sector. It's a shame really.. but it was necessary at the time.

There are basically only 3 ways a plugin can communicate with the world outside the game.

1. The system notes file, which is stuck in Vendetta's designated folder as a text file
2 . The config file which is also a text file
3. TCP communication, which a programmer can use to talk to another program on your computer, or to a remote server.

The most dangerous of those is TCP.. but it is necessary for much plugin functionality.

Why do I put all of this pollution in this thread?

Because I want to dispel some odd beliefs that some people have about the plugin system and what it is capable of. No private plugin does much more than what has been listed above, they just consolidate functionalities and put a pretty facade so that a guild can feel like they are better, or keep organized. Nothing in the plugin system can really give you a significant advantage in combat, except maybe the color changing HUD.. which I am a big fan of... but even that is useless without a knowledge/experience with what distance needs to be kept for certain types of weapons.

I think Greenwall is on to something though. There is no "official" place for plugins really. Many people might not know where to find plugins that do these things, or if they can find them, they might not work any more. For this reason I think a solution similar to some other games may be reasonable. There needs to be an "official" repository with an up/down vote and comment system. There also needs to be "official oversite" and an "automatic installer" for plugins that have been officially approved. However, there also needs to be the ability to make "unofficial" plugins that require you to perhaps explicitly "enable unofficial plugins" like is done on mobile devices currently.

I just don't think our 2 man army up at Guild Software has the ability to put this on though.. I mean I know they have the knowledge, but I don't think they have the manpower/funding.
Jan 05, 2023 haxmeister link
What about tying certain plugin functionalities to a permission system... so that when you first install it, you get asked stuff like:

This plugin wishes to communicate with external servers y/n
This plugin wishes to capture information about players in sector y/n
Jan 05, 2023 incarnate link
Here is my response from 2008, which predates the thread that Greenwall linked.

The problem gets into the implications of distributing code that we are not creating or maintaining, and the implication of responsibility for that code (and what that code may do to you).

It's easy to write the one-line sentence of Everything would be "use at your own risk", but it's much harder to make that actually meaningful.

Even English-speaking players choose to not-read the most basic information we provide, in the most obvious ways, we get slammed constantly for things that are obviously not our fault. And for topics where it's less obvious, people have a history of inventing conspiracy theories to try and somehow attribute our nefariousness to some issue they dislike, no matter how disconnected it may be from us.

That's just kind of a "baseline" of what we already deal with every day. Now you want to add into it, essentially, an "App Store". Because, while it may be a free distribution of scripts, it has the same management challenges. Spyware, broken and useless crap, oversight issues, and so on. Who gets to post updates to plugins? How are they inspected? Is someone doing code analysis on changes? What if someone's account is compromised, and someone uploads something nefarious to their "relatively trusted" channel?

Chrome Extensions famously have these problems, with the full power of Google behind them. The fundamental issue is:

- If you add simplicity of installation, users will expect support and safety. No matter what you "claim", or how many warnings you pop up.

I appreciate the premise of Greenwall's Suggestion, plugins can create some advantage. But, historically, the idea has been to then take those advantages and push them back into the game client, which we've done a number of times.

The problem is not actually manpower/funding. It never was. I'm just not convinced that the value outweighs the downsides and complexities.

I'm not here to permanently shoot down the idea (any more than I did in 2008), but I am here to clarify the problems and challenges, for the purposes of on-going discussion.
Jan 06, 2023 abortretryfail link
If this was a thing I probably wouldn't bother writing or modifying plugins at all. Having to go through a centralized authority/distributor for every little thing is just way too much work for a few conveniences in a video game that I'm supposed to be having fun with.

The "massive" advantages are pretty overstated honestly, especially when combat is involved.