Jump to content

Solder API


DanteChaos

Recommended Posts

  • Replies 165
  • Created
  • Last Reply

Top Posters In This Topic

Use the dev branch instead. There is no support for solder because you are using something that is early in development and still has many bugs. Now stop being a sarcastic little shit.

I posted in the forums because I knew there was no official support, and I hoped that other people trying it out had something helpful to say.

[Edit] I have already tried the dev branch, still not seeing it.

Link to comment
Share on other sites

  • 2 weeks later...

It's highly recommended you avoid using the current implementation of Solder unless you already had a mod repository setup before the Platform.

The reason for this being is the current version of Solder is very user error prone. It can't do much to check if mods actually exist in its current state in the master branch.

If you are hell bent on trying Solder, play with the dev branch. It's way less error prone. In fact, I am making a video on it now.

Did this video ever get released?

Link to comment
Share on other sites

It Worked, but now does it sync my modpack info or do i have to recreate the pack again? I own Explosives Craft, and i don't want to have everyone download it again.

I don't know how it can import packs from platform automagically (I didn't have to in my case,) but click some buttons. Even changing the core settings doesn't harm anything if you edited them directly into solder.php like you should have.

Link to comment
Share on other sites

So, assuming my web server has other sites, etc. stemming off from the main pub directory, how would I go about setting solder up so the public root for solder is in a subfolder of public? Is it as simple as moving everything solder puts in public into the desired subfolder?

Link to comment
Share on other sites

So, assuming my web server has other sites, etc. stemming off from the main pub directory, how would I go about setting solder up so the public root for solder is in a subfolder of public? Is it as simple as moving everything solder puts in public into the desired subfolder?

Create a virtual webserver host that listens to something like repo.yourdomain.com and set the solder public directory as it's document root.

Link to comment
Share on other sites

Can I put the public solder directory wherever I want though, it doesn't have to be one level below the rest of the solder files like it comes by default? So for example say I FTP in to "/", and below "/html/" which is where the public directory starts. I can put the contents of the solder public folder in "/html/repo/" and bind a subdomain to that folder, right?

Link to comment
Share on other sites

Can I put the public solder directory wherever I want though, it doesn't have to be one level below the rest of the solder files like it comes by default? So for example say I FTP in to "/", and below "/html/" which is where the public directory starts. I can put the contents of the solder public folder in "/html/repo/" and bind a subdomain to that folder, right?

Re-reading your original question I see I misunderstood it so my reply to that is mostly irrelevant. Sorry for that.

I'm not sure if what you're asking is doable. You can bind a subdomain to that folder if you do what I said above. But about putting the files from the public folder elsewhere, I don't know how Solder itself is set up to read files.

I guess you could pull something like that off with symlinks if your server allows that although I'm not sure how exactly you'd go about it. For all I know I'm wrong so take this with quite a bit of salt.

More info on symlinks: http://www.cyberciti.biz/faq/unix-creating-symbolic-link-ln-command/

Maybe someone smarter than me can provide a bit more.

Link to comment
Share on other sites

I could not use my other host, however I was able to get a koding.com account and set it up there. I was able to get it working by symlinking public and then setting up .htaccess with this little gem from the laravel forums: http://paste.laravel.com/6GM. So I put TechnicSolder in my /Users folder and then symlink public to user/Sites/user.koding.com/website (This is the public root)/repo. I haven't yet decided what to do about the mod repository, I think that I will set up on my other host. My only problem is that the Solder admin panel sends the "Dashboard" link to the root domain (user.koding.com) instead of user.koding.com/repo. All other links in the dashboard respect my /repo directory. I'm also concerned about /api/. The way it's currently setup you HAVE to to put index.php/api/ and I'm not sure if technic will do that or just try to go to /repo/api (which won't work). Maybe I can somehow symlink that?

EDIT: Nevermind, I forgot the .htaccess file (I swear I made it before, but oh well.)

Link to comment
Share on other sites

Now I'm having issues with the incorrect link and hash. My mods directory is in /TechnicSolder/public/mods/, and I can get to it from the web. When I had my solder.php set up with that URL, it added an extra /mods/ in the links, so it was /mods/mods, and it was just giving me the MD5 hash for a blank string. Now I changed it so that the extra /mods/ doesn't show up, but I'm still just getting the same hash for a blank string, even though copying and pasting the link takes me to the file.

Link to comment
Share on other sites

for some reason when i run my modpack, it just puts the mods in the modpack folder and not in the mods folder, and i wanted to know how to tell solder what folder to put the mod into

Please tell me your mod repo isn't fully stocked. You will have to totally remake your whole solder repository if it is.

Each mod zip you upload is like a tiny custom pack with only the mod in it.

for example, let's say I wanted to add SparkleFarts mod.

I set the modslug to "fart," then make a new directory on my web host called "fart"

I download version 0.dong of the sparklefarts mod, so I put the sparklefarts mod in a folder called "mods". I then zip that "mods" folder, and name the zip "fart-0.dong.zip"

I upload THAT to my fart directory, then add it to a pack!

the zip that solder downloads is extracted directly. I had this exact same problem, and every mod in my repo started spewing class files all over my modpack directory.

Link to comment
Share on other sites

I created a nifty PHP script that reads and downloads the contents of whichever modpack i choose from the solder.technicpack.net api.

it populates my modlist and modversions database, and I can then create a modpack as a base quite easily.

I've finished coding a version checker, so I can ensure my base remains uptodate in conjunction with (for example) tekkitmain releases.

There's a few minor bugs in the version (0.3-dev) that I'm using, such as marking an entry as non-published, and updating the MD5 of the resources folder contents, but these are easily worked around with a bit of MVC knowledge.

Anyway, my next steps would be to merge these changes in with the solder framework as modules and then get them on the main interface, as right now they are in a seperate PHP (Zend) project.

Thank you Technic guys for providing me with something to toy with over the weekends :)

Link to comment
Share on other sites

Now I'm having issues with the incorrect link and hash. My mods directory is in /TechnicSolder/public/mods/, and I can get to it from the web. When I had my solder.php set up with that URL, it added an extra /mods/ in the links, so it was /mods/mods, and it was just giving me the MD5 hash for a blank string. Now I changed it so that the extra /mods/ doesn't show up, but I'm still just getting the same hash for a blank string, even though copying and pasting the link takes me to the file.

Can anyone help with this? Where is the slug for the mod and modpack supposed to be, relative to the repo location? (/mods/ in my case)

Link to comment
Share on other sites

I created a nifty PHP script that reads and downloads the contents of whichever modpack i choose from the solder.technicpack.net api.

it populates my modlist and modversions database, and I can then create a modpack as a base quite easily.

I've finished coding a version checker, so I can ensure my base remains uptodate in conjunction with (for example) tekkitmain releases.

There's a few minor bugs in the version (0.3-dev) that I'm using, such as marking an entry as non-published, and updating the MD5 of the resources folder contents, but these are easily worked around with a bit of MVC knowledge.

Anyway, my next steps would be to merge these changes in with the solder framework as modules and then get them on the main interface, as right now they are in a seperate PHP (Zend) project.

Thank you Technic guys for providing me with something to toy with over the weekends :)

...You can do that? I really hope they go to implement this as a feature. Being able to import base packs from the official technicpack solder would be amazing.

Link to comment
Share on other sites

...You can do that? I really hope they go to implement this as a feature. Being able to import base packs from the official technicpack solder would be amazing.

Well yes, it was pretty simple really.

Once you understand how solder works you can do a request like: /api/modpack/tekkitmain

that'll show you the published versions.

Now /api/modpack/tekkitmain/1.0.6/

This returns a JSON encoded string containing a list of mods, versions, and a url to download it from (for the launcher).

You just grab, decode, array, and iterate through: $mod->version, $mod->name, $mod->url etc.

Insert them into your database and so on.

It was quite a fun project and saved me roughly 2-3hrs (even after coding and experimenting).

Can anyone help with this? Where is the slug for the mod and modpack supposed to be, relative to the repo location? (/mods/ in my case)

/mods/modname(slug)/modname-v1.01.zip

modname-v1.01.zip contents:

mods\

mods\myawesomemodname-1.01.jar

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Announcements

  • Anything claiming to be official Technic servers are not allowed here, for obvious reasons



×
×
  • Create New...