Ruby gem server style 'Plugins Server' ??

??????

Diabolical Codemaster
Veteran
Joined
May 11, 2012
Messages
6,513
Reaction score
3,203
First Language
Binary
Primarily Uses
RMMZ
So, i have been bouncing around the idea of hosting a server specifically for plugins.

My idea is very simple - basically, a ruby gem server style plugin manager.

Example:

There would be a plugin you put in your game to perform the server interactions.

You could run the plugin command as follows

plugin all updateWhich would perform an update of all the plugins within your project that are hosted on the plugin server.

Or you may want to run a command a little more specific...

plugin DMV_Core update -w-backupsthat could update the DMV_Core plugin, whilst keeping the old copy for a backup.

Also - a user could upload their own plugins via similar techniques, providing they are authenticated plugin writers - not having everyone spamming my servers. :D

That could looks something like;

plugin DMV_Core upload -w-userID1234567890or maybe for downloading new plugins entirely...

plugin DMV_Core installAnyway - its just an idea, and im not sure if something similar already exists?

But yea - I am interested in your guys thoughts, so have at it...
 
Last edited by a moderator:

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,564
Reaction score
3,846
First Language
English
I think there was a project that did just that for Ace scripts.


I don't remember what it was called though.
 

KockaAdmiralac

Cube-shaped garbage can
Veteran
Joined
Jun 15, 2015
Messages
569
Reaction score
153
First Language
Serbian
Primarily Uses
N/A
It was called RME Builder.

Wait, I should be able to find a link to it, so you can see the discussion.

EDIT : Here it is!
 
Last edited by a moderator:

??????

Diabolical Codemaster
Veteran
Joined
May 11, 2012
Messages
6,513
Reaction score
3,203
First Language
Binary
Primarily Uses
RMMZ
I'm already writing it up and making decent progress. :)

I think as long as other scripters take it on board, it could become a VERY useful thing for the future of rm plugin deployment! :)
 

KockaAdmiralac

Cube-shaped garbage can
Veteran
Joined
Jun 15, 2015
Messages
569
Reaction score
153
First Language
Serbian
Primarily Uses
N/A
Well, you must think about it : who will use it?

I think I would, but I'm not a good support because I rarely published my scripts.

Also, what would you do with configuration problem?

And what would you do about the server?

Where will it be hosted?

How will scripters upload scripts?

Will there be a GUI or a console, like Aptitude?
 

Kane Hart

Elmlor.com
Veteran
Joined
Jun 27, 2014
Messages
656
Reaction score
166
First Language
English
For me I rather not do updates via server I rather do it by hand but I also like to know when my plugins need an update via a tool or something. Not something that each plugin checks or I swear people will have a short life lol. Minecraft modded a lot of devs at first added a website check for each mod. Thankfully most them have option to turn it off that was just annoying. 
 

??????

Diabolical Codemaster
Veteran
Joined
May 11, 2012
Messages
6,513
Reaction score
3,203
First Language
Binary
Primarily Uses
RMMZ
The team I am working with, and myself, all have the ability to host a server - I personally have two sites both with unlimited bandwitdh and sql databases, so hosting is no issue at all. :)

As mentioned, I have already started writing this up, so I will be making a plugin in development topic in the coming days to get user feedback for features and such.

There is no need for a gui or any such waste of my time - basically, the way it works atm is as follows (note, not all features are fully finished)

- To register your own custom plugin for download, you use the plugin command (from in game editor)

plugin register DMV_Core Dekita/DMV/master/DMV_Core.js^ This command would register the plugin located at the address:  https://raw.githubusercontent.com/Dekita/DMV/master/DMV_Core.js

It would register the plugin identifier as DMV_Core

So basically, all you would have to do to register a script, would be to host a copy on github - which you can update etc as you wish.

- To install a new plugin (finished feature)

plugin install DMV_Core^ this command would search the database for the DMV_Core identifier, locate the github suffix, and then open and read the information from the github page, which is subsiquently saved into a file ont he local directory.

So yea, hope that gives a little more knowledge..

I'm rushing around like mad atm, so when I get some more free time, I will and explain it all properly - but trust me, the idea in my head is very useful, and its all going according to plan thus far. :D
 

KockaAdmiralac

Cube-shaped garbage can
Veteran
Joined
Jun 15, 2015
Messages
569
Reaction score
153
First Language
Serbian
Primarily Uses
N/A
Great, but

Will it handle dependencies?

How will it test for updates?

How will it keep the original configuration after plugin is updated?

Will it be able to locate non-Github links, for example

Code:
[URL="http://kocka.dilfa.com/uploads/plugins/etc."]http://kocka.dilfa.com/uploads/plugins/etc.[/URL]
 

??????

Diabolical Codemaster
Veteran
Joined
May 11, 2012
Messages
6,513
Reaction score
3,203
First Language
Binary
Primarily Uses
RMMZ
- Dependencies - I am not yet sure. Once I have the other features more fleshed out I will worry about that. :)

- Updates - it will parse the data returned for the version number and compare it with the one within the current plugin

- Config - plugin configuration should not change from a file overwrite - as the configuration takes place within the rm plugin manager editor thing. The only possible config that could be overwritten is default config, and that should be overwritten if changed.

- Alternative Links - Most likely - yes - as long as you provide a link to a page of raw js data.
 

KockaAdmiralac

Cube-shaped garbage can
Veteran
Joined
Jun 15, 2015
Messages
569
Reaction score
153
First Language
Serbian
Primarily Uses
N/A
Oh, yes, I forgot RM is now handling plugin configuration :)

And for updates, what is 'data returned for version number'?

Like MD5 or SHA1 hash of a file?
 

??????

Diabolical Codemaster
Veteran
Joined
May 11, 2012
Messages
6,513
Reaction score
3,203
First Language
Binary
Primarily Uses
RMMZ
Well, I was thinking, if people are doing the whole imported thing in their scripts of:

Imported = Imported || {};Imported['MyPlugName'] = "1.0.0";Then the data returned for the version number would be a string containing '1.0.0', no? :)

That seems to me to be the easiest way to do it, but I guess adding checksums and such is an option. :D
 
Last edited by a moderator:

KockaAdmiralac

Cube-shaped garbage can
Veteran
Joined
Jun 15, 2015
Messages
569
Reaction score
153
First Language
Serbian
Primarily Uses
N/A
Aaaaaaaand I forgot that it's a plugin, not an external program.

Nice idea, good luck with it!
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Profile Posts

Couple hours of work. Might use in my game as a secret find or something. Not sure. Fancy though no? :D
Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.
Do you Find Tilesetting or Looking for Tilesets/Plugins more fun? Personally I like making my tileset for my Game (Cretaceous Park TM) xD
How many parameters is 'too many'??

Forum statistics

Threads
105,859
Messages
1,017,030
Members
137,566
Latest member
Fl0shVS
Top