Jump to content

Solder API


DanteChaos

Recommended Posts

For some reason my company has pastebin blocked here... I can't browse to it. VERY weird. I'll take a look at that tonight, if someone else hasn't answered you before then.

As for the modpack.yml files - those are created by you. Well, the dev version of the Solder API has a dashboard that lets you modify it, so it MIGHT create it for you, but when I first set the system up I had to create all the yml files by hand. And these files are not brought down to your client. They are only configuration files for the Solder API.

I'll take a look at that pastebin tonight when I can access it from home.

Link to comment
Share on other sites

  • Replies 165
  • Created
  • Last Reply

Top Posters In This Topic

  • Forum Administrators

Im guessing that your logo_180.png doesnt exist or is having issues being read. Is your mirror_url set properly? Can I get a link to your API?

Link to comment
Share on other sites

@SeanWcom Thanks for replying. When I set up my pack, I wasn't asked to give the Solder API straight away, only the download location of the pack (non-solder, just the modpack.jar et.c). I made an email script which worked, but the problem is with the **migrate:install** part of the code, it doesn't like it. I'll get a coupld of screenshots tomorrow so you can see what it all looks like :)

@sct Would you mind helping me with what URLs I should put where? Thanks :)

Link to comment
Share on other sites

Hmm... I'm seeing a couple things based on your API link. First, your Mirror URL - I'm not sure that's correct. My mirror URL is a web accessible link, like http://www.domainname.com/modpacks. This is the root link to where my modpacks live. Yours is set to /var/www/repo while I believe it should be here: http://emik0.hopto.org:78/repo/ (note that this url will show your repository).

Now if you browse to that URL, the YML files are missing. Here's the mirror URL for the Aegis Anarchy pack. Look through there and see how they have all their folders and files setup: http://technic.aegisgaming.org/Technic/

Link to comment
Share on other sites

Hmm... I'm seeing a couple things based on your API link. First, your Mirror URL - I'm not sure that's correct. My mirror URL is a web accessible link, like http://www.domainname.com/modpacks. This is the root link to where my modpacks live. Yours is set to /var/www/repo while I believe it should be here: http://emik0.hopto.org:78/repo/ (note that this url will show your repository).

Now if you browse to that URL, the YML files are missing. Here's the mirror URL for the Aegis Anarchy pack. Look through there and see how they have all their folders and files setup: http://technic.aegisgaming.org/Technic/

About the YML file, I think he's using the new SolderAPI, with a graphical interface.

Link to comment
Share on other sites

About the YML file, I think he's using the new SolderAPI, with a graphical interface.

I am too now, but I wasn't sure if it still wrote out data to the yml files. I updated my pack tonight and verified that the modpack.yml is not updated, so it looks like those can be removed now. Yellowmegaman, ignore my advice above about looking at the Aegis pack and their yml files. :)

Link to comment
Share on other sites

I am playing a bit with the Solder API as well, I can't seem to find a way to ship default config files or coremods though. Am I missing something here?

Also, does the "Create a modpack" option on technicpack.net give an error for everyone atm? Or is that because I linked to Solder, and something is wrong with my install (it looks like a technicpack.net-sided error though)?

Link to comment
Share on other sites

I am playing a bit with the Solder API as well, I can't seem to find a way to ship default config files or coremods though. Am I missing something here?

When you create a zip file for a mod, you are first putting it into a "mods" folder, then zipping it. To do a coremods mod, just put it into a "coremods" folder. Same for configs... zip up a "mod" into a "configs" folder. As you change your configs, treat it like a mod and create new versions of it.

All these mods unzip into the root directory, so whatever folder you put in the zip is where it'll go. You could package up texture packs this way, default client configs, etc, etc.

Link to comment
Share on other sites

When you create a zip file for a mod, you are first putting it into a "mods" folder, then zipping it. To do a coremods mod, just put it into a "coremods" folder. Same for configs... zip up a "mod" into a "configs" folder. As you change your configs, treat it like a mod and create new versions of it.

All these mods unzip into the root directory, so whatever folder you put in the zip is where it'll go. You could package up texture packs this way, default client configs, etc, etc.

Oooooh, I see. This way of packaging makes a lot more sense now.

Thanks!

Link to comment
Share on other sites

Regarding the error on trying to create a modpack, it indeed seems to be related to the Solder-linking. I don't get the error on a non-linked account. I can't get the Solder-made modpack to show up under "My Modpacks" either, though I am not sure if it should.

This is the error I get:

[EDIT] Oops, sorry for the doublepost

Link to comment
Share on other sites

I'm really sorry but I've been having so much trouble with what URL to put where, I've tried so many combinations just by looking at the AegisGaming setup and the readme.md, I even tried staring at my computer and giving it "the look", but to no avail. This is what I think I should do (and I have tried):

To sct, I suggest that you improve the documentation for Solder, as nothing is really that clear.

However, all of this business about trailing slashes and "api/" is reeeaaally confusing me. I even started to learn PHP and html just because of this, and I must say, I'm doing so much better with those languages than with Solder. Could someone please go through what URL has to go where.

P.S As my host doesn't have an SSH console, could someone let me know how to run the "artisan migrate:install" command via PHP? Thank you very much.

Link to comment
Share on other sites

Regarding the error on trying to create a modpack, it indeed seems to be related to the Solder-linking. I don't get the error on a non-linked account. I can't get the Solder-made modpack to show up under "My Modpacks" either, though I am not sure if it should.

This is the error I get:

That error looks like a Laravel misconfiguration... if that's not configured right, then your API won't work, which will definitely lead to linking not working. The error states that there's an invalid argument supplied for a foreach command - which is a PHP issue, but for that error to appear, Laravel must be confused somewhere else. Triple check your paths, make sure your filenames and mod names don't contain any odd characters in them...

Link to comment
Share on other sites

I'm really sorry but I've been having so much trouble with what URL to put where, I've tried so many combinations just by looking at the AegisGaming setup and the readme.md, I even tried staring at my computer and giving it "the look", but to no avail. This is what I think I should do (and I have tried):

To sct, I suggest that you improve the documentation for Solder, as nothing is really that clear.

However, all of this business about trailing slashes and "api/" is reeeaaally confusing me. I even started to learn PHP and html just because of this, and I must say, I'm doing so much better with those languages than with Solder. Could someone please go through what URL has to go where.

P.S As my host doesn't have an SSH console, could someone let me know how to run the "artisan migrate:install" command via PHP? Thank you very much.

Documentation for this will probably always be a bit vague. This isn't really meant for anyone to run. By the way, Solder itself isn't something to learn - Solder is PHP code.

If you really want to learn the best way to get this up and running, start with learning how to setup Laravel (http://laravel.com). Laravel is a PHP MVC framework that is used to build web applications. You have to understand how to seperate the application code from the public html code. I suspect that's your problem right now, but without being able to see the file structure I can't tell for sure. So, I'd suggest getting some sample apps working with a default Laravel install - this will help you understand how Solder is setup. Solder is just a Laravel Application, nothing more.

Also, with the latest releases of Solder, the AegisGaming pack isn't a great example anymore as the YML files aren't used now that the dashboard is in place.

As for running the artisan commands, your only real option is to investigate running them as a cron job through your web host. This is different for every hosting company, so you'll have to investigate that on your end. But cron jobs basically allow you to setup a command line task to be run, so it *should* be possible.

I know this is all a bit vague, but setting up Solder isn't as cut and dry as everyone wants it to be. :)

Link to comment
Share on other sites

That error looks like a Laravel misconfiguration... if that's not configured right, then your API won't work, which will definitely lead to linking not working. The error states that there's an invalid argument supplied for a foreach command - which is a PHP issue, but for that error to appear, Laravel must be confused somewhere else. Triple check your paths, make sure your filenames and mod names don't contain any odd characters in them...

After reinstalling, reconfiguring and even going through the trouble of enabling ssl on my webserver, I've finally found and fixed it.

I decided to watch my server logs when trying to create a new modpack. I noticed a 500 error at /api/modpack. While visiting that page myself, it turned out that database caching didn't work.

After switching back to flat file caching, everything worked right again.

Still, the fact that the technicpack.net server throws a PHP error on an API, albeit misconfigured, can't be intended behaviour, right?

Link to comment
Share on other sites

  • Forum Administrators

There are no plans as of yet to improve Solder documentation. It is noted multiple times that using Solder in its current state is for advanced users only because I just don't have the time right now in its rapid state of development to sit down and make it incredibly user friendly. (I will do this eventually, just not yet)

As to your issue, I think a lot of people are misunderstanding what you put in for mirror_url and repo_location. If you are using a remote address for your repo_location, your mirror_url should match it. Nothing has to put to where Solder is. Solder knows where it is.

Link to comment
Share on other sites

@sct

Ok, thanks, I'm just going to wait until the documentation is improved, as it's just getting me frustrated :P

Two days ago, when I updated the description of my modpack. The entire description, permissions and licensing section and changelog became empty! Is there any way that it can be backed up, if there is a backup? I put so much time into those sections, and now they're just gone, through no fault of my own...

P.s I wish you good luck with all development with Technic and making the launcher/platform more stable :)

Link to comment
Share on other sites

I think I missed something - I have my modlibrary.yml, modpacks.yml, and the folder with the resources set up, but nothing is importing into Solder. Do I need to run an import on another database? I've tried doing another artisan migrate like it says in the docs under "updating solder", but it just tells me "No outstanding migrations." None of the mods in my modlibrary.yml are showing up in the dashboard, and my modpack isn't showing up either.

In case it helps, both my repo_location and mirror_url are set to website/ModRepo/, and I can browse to it and see my files there.

File structure:

\ModRepo\

  • modilbrary.yml
  • modpacks.yml

\ModRepo\cyberdyne\

  • modpack.yml

\ModRepo\cyberdyne\resources\

  • background.jpg
  • icon.png
  • logo_180.png

\ModRepo\mods

  • a whole bunch of different folders, mirroring the ones from the tekkitlite git.

Any ideas?

Link to comment
Share on other sites

I think I missed something - I have my modlibrary.yml, modpacks.yml, and the folder with the resources set up, but nothing is importing into Solder. Do I need to run an import on another database? I've tried doing another artisan migrate like it says in the docs under "updating solder", but it just tells me "No outstanding migrations." None of the mods in my modlibrary.yml are showing up in the dashboard, and my modpack isn't showing up either.

In case it helps, both my repo_location and mirror_url are set to website/ModRepo/, and I can browse to it and see my files there.

File structure:

\ModRepo\

  • modilbrary.yml
  • modpacks.yml

\ModRepo\cyberdyne\

  • modpack.yml

\ModRepo\cyberdyne\resources\

  • background.jpg
  • icon.png
  • logo_180.png

\ModRepo\mods

  • a whole bunch of different folders, mirroring the ones from the tekkitlite git.

Any ideas?

The latest version of the SolderAPI doesn't need the .yml files anymore.

Link to comment
Share on other sites

  • 3 weeks later...

Hey, just setup SOlder on my wamp server to try and test it out, got everything working and then I could not setup a new modpack through the gui, I dont think it knew were my modpack folder was, even though I had specified it.

Repository settings:

Modpacks Folder: http://ssgames.3owl.com/modpacks/

Modpack Creation: http://i.imgur.com/IU5gW9P.png

[Edit] I also tried hosting it on various other hosts and every time I got this error:

Unhandled Exception

Message:

Undefined offset: 6

Location:

/usr/lib/php/head.php on line 90

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...