Jump to content

The shsforums dot net down. Up. And down.

Jarno Mikkola

Recommended Posts

lynx, my reply wasn't supposed to be pushback, I'm in favor of all ideas which can makes modeer, players, site owners and BWP/BWS maintainers easy. An alternative for "master" would be use releases / tags but only if BWS can handle getting "latest release/tab" download link automatically.

Link to comment

I'm not sure people would be for your "unchanging master link" idea though, since they'd have to use separate branches if they wanted to develop and not release immediately. And that's a hurdle for some. It would also inevitable cause problems for BWS, if it tracked upstream blindly.

It's not a problem. They shouldn't push to online repo, that's all. They don't have to use "developement/feature branches" - just stick to the local commits before testing and then push a release. If they will push some unfinished commits with broken code, someone will at least spot in by playing the game and report bugs.

That will be a bit difficult because there are many workflows and not all modders will be happy to use this specific workflow.


About the "unchanging master link",instead of always downloading the latest master branch which, as lynx said, might be in an "unstable" state at that precise time, you can download only releases. The github api exposes a lot of information which you can use.


For example, you can use the link api.github.com/repos/_repo_onwer_/_repo_/zipball/_release_" to download a specific version (it has the same result as the archive link i pasted in my last post). You can also use the "releases api" to find the latest release and download that if you like. If you visit the url "https://api.github.com/repos/subtledoctor/might_and_guile/releases/latest", you get the following



  "url": "https://api.github.com/repos/subtledoctor/Might_and_Guile/releases/1872624",
  "assets_url": "https://api.github.com/repos/subtledoctor/Might_and_Guile/releases/1872624/assets",
  "upload_url": "https://uploads.github.com/repos/subtledoctor/Might_and_Guile/releases/1872624/assets{?name,label}",
  "html_url": "https://github.com/subtledoctor/Might_and_Guile/releases/tag/1.2",
  "id": 1872624,
  "tag_name": "1.2",
  "target_commitish": "master",
  "name": "Might & Guile v1.2",
  "draft": false,
  "author": {
    "login": "subtledoctor",
    "id": 8930727,
    "avatar_url": "https://avatars.githubusercontent.com/u/8930727?v=3",
    "gravatar_id": "",
    "url": "https://api.github.com/users/subtledoctor",
    "html_url": "https://github.com/subtledoctor",
    "followers_url": "https://api.github.com/users/subtledoctor/followers",
    "following_url": "https://api.github.com/users/subtledoctor/following{/other_user}",
    "gists_url": "https://api.github.com/users/subtledoctor/gists{/gist_id}",
    "starred_url": "https://api.github.com/users/subtledoctor/starred{/owner}{/repo}",
    "subscriptions_url": "https://api.github.com/users/subtledoctor/subscriptions",
    "organizations_url": "https://api.github.com/users/subtledoctor/orgs",
    "repos_url": "https://api.github.com/users/subtledoctor/repos",
    "events_url": "https://api.github.com/users/subtledoctor/events{/privacy}",
    "received_events_url": "https://api.github.com/users/subtledoctor/received_events",
    "type": "User",
    "site_admin": false
  "prerelease": false,
  "created_at": "2015-09-26T22:23:13Z",
  "published_at": "2015-09-26T22:23:53Z",
  "assets": [

  "tarball_url": "https://api.github.com/repos/subtledoctor/Might_and_Guile/tarball/1.2",
  "zipball_url": "https://api.github.com/repos/subtledoctor/Might_and_Guile/zipball/1.2",
  "body": "Extra bonuses for beastmasters!"



As you see it contains the line "zipball_url": "https://api.github.com/repos/subtledoctor/Might_and_Guile/zipball/1.2" which points to the latest tag which you can download.


I do not know which infrastructure BWS uses to download files from http, but you can get the info about the latest release and then "grep" for zipball_url and download that (it will be a 302 redirect to yet another url). This way you can download stable releases instead of latest master branch.

Link to comment

If you don't push your stuff regularly, then you miss out on the backup and the whole "developing in the open" paradigm shatters.


Sucks from a QA point of view. Or imagine wanting to share a rc with testers.

If you want to stick to a single tool, like GitHub, then you use that tool's paradigms. But we can mix and match different tools!


I issue

Link to comment

I would like to summarise in a few lines what I understand from the discussion above and I wear the hat of a simple modder with no database admimistrator/it-expert background or similar.

- there were a number of downtimes for major mod forums like SHS or G3 recently and no organised download mirrors available

- SHS download system is still broken in a way that updates or new mods cannot be uploaded

- several modders chose some file hosters to keep their mods alive, but none is a good solution (captcha required, spam send, interactions needed that BWS cannot handle, - in my case I just was notified that my account may be disabled due to too much traffic)

- Github seems to be an agreeable alternative.


Now comes my *simple modder's problem*:

I created an account there and got the thing running, The tutorials they offer are for software developpers and team workers (which i am neither of) and may as well be written in chinese as far as I am concerned. The program is in no way self-explanatory with all its branches, push and pull etc


So - if modders are supposed to use it, there is a need for a simple tutorial that tells us how to get a *ready for zip/rar packaging mod* up to there and how to tell others where to find it. I am sure this feature is there in the way we need it, but after hours of studying the tools I was not able to find it - there is simply far too much functionality in that tool for a non it-expert.

Link to comment

For novices to git it is best to use a GUI wrapper. There are several, but I haven't tried any, so I can't be of much help unless you have a shell handy (usually won't be true). So yeah, a nice non-cli tutorial needs to be discovered and perhaps adapted.

Link to comment

Since the bws mod templates contain the version, wouldn't be easier to just mention the github repo as "down" url and then have the bws code concatenate the repo url with the version name (only for github urls) and download that release ?


From what i read, there is already code that changes the url in the case of some special sites so it would require just some lines that check for github.com.

Link to comment

Including release date in the mod file name should be a standard.

How a version flag can't do the same effect ?

Yes, if it's a rather large mod, naming the version system can be a wheasel, but a v1.05, v7.1, v1.01L have done good for me until now.

Link to comment

ALIENQuake: I made a small wrapper for the API, so you don't have to bother with au3.


It's at http://lynxlynx.info/ie/modhub.php and you use it by passing the github username and repo to the mod in a single string. Eg. to get the latest Might and guile, put this as the mods url and it will always resolve to the latest release's zipball:



currently has no caching.

Link to comment

ok, let me know if you'll use it, so I can make it robust (waste of time if nobody will use it). I can easily set a header to only the version or output it some other way if you need that separately.

Link to comment


This topic is now archived and is closed to further replies.

  • Create New...