Jump to content

Community Mod Repository and The Majiir Challenge


Majiir

Recommended Posts

Is this site part of your project as its up and running http://kerbal-space-parts.com/

That looks... suspect. Why would KAS be on there, when it is provided through a very different link on Majiir's official thread? Likewise with Mechjeb (on Curse) and KW Rocketry (unmaintained)? I have a funny feeling we're going to see a ton of sites with Spaceport rips pop up, reposting everything with no permission from the original authors.

Link to comment
Share on other sites

Alright, folks. Now that Spaceport is gone, I figured I'd post here as well. I've been busy over the last couple of weeks, slowly putting something together. It's rather crude right now, and I'm not permitting uploads and registration at this time - but if you contact me directly, we'll get it all set up. In a short while, you'll also be able to edit your existing mods, upload new versions, etc - new mods and user accounts will remain disabled until we get this properly off the ground (and until I get some cleanup done on the code).

So, with that said, go enjoy this very bare-bones (but perfectly functional) Spessport!

I'm very open to suggestions, some of my current plans are on the /about page. I intend to leave the layout somewhat similar to Spaceport, since obviously a lot of people were rather content with it in general - the problems were mostly the horrible search function, and inconsistencies.

Link to comment
Share on other sites

Hello! I thought I'd throw my hat in the court.

[Link removed by moderator:  original site defunct, now taken over by malware]

Note that the frontend of this is barely more than a bootstrap site with some layout thrown together. The backend is a WIP, but currently has some notable things in place:

  • Python+pSQL backend, with nginx in front of it
  • SCSS+CoffeeScript processing pipeline (also supports plain CSS and JS)
  • SqlAlchemy is wired up with a few data types defined and wired up

[Link removed by moderator:  original site defunct, now taken over by malware]

I've done scalable sites before. I have one site that runs on a single server and handles a million pageviews a month, streaming HTML5 video to most of them. It peaks at a thousand requests per second during heavy loads and doesn't break a sweat. I'm taking a similar approach here, and this site should be able to scale fine on day one (assuming it's on better hardware than the dev server it's running on now). Speaking of that site that handles a million pageviews a month, I have a good website with infrastructure for hosting images and video that can be easily integrated into this one - https://mediacru.sh (also open source). You can see on the example mod page that MediaCrush is running the embedded video. I'll get this integrated more or less seamlessly and then the load of images and video is handed over to a fast and reliable host.

I've read this thread and I know more or less what people want, so I'm going to do my best to match that. I chose not to go with MongoDB for two reasons - data integrity, and fancy queries. I know people want data on how their mods are being used, and a relational database is a good tool to crunch that data for them. I chose Python because it runs on any Linux server out there, as well as being a sane language overall (I did not choose PHP because it is not a sane language. I did not choose node because it's not as sane as it should be). I also went with Python because I can steal a lot of the MediaCrush code (like the asset pipeline) to make things go faster. I have also decided NOT to do some things that I've heard in this thread. I will not be hosting a build server (out of scope), and version 1 will probably not have email blasts when mods update (I'd rather not have GMail flag me as a spammer).

Let me know if you're interested in helping out.

Edited by Snark
Link removed by moderator; original site defunct, now taken over by malware
Link to comment
Share on other sites

I've read this thread and I know more or less what people want, so I'm going to do my best to match that. I chose not to go with MongoDB for two reasons - data integrity, and fancy queries. I know people want data on how their mods are being used, and a relational database is a good tool to crunch that data for them. I chose Python because it runs on any Linux server out there, as well as being a sane language overall (I did not choose PHP because it is not a sane language. I did not choose node because it's not as sane as it should be). I also went with Python because I can steal a lot of the MediaCrush code (like the asset pipeline) to make things go faster. I have also decided NOT to do some things that I've heard in this thread. I will not be hosting a build server (out of scope), and version 1 will probably not have email blasts when mods update (I'd rather not have GMail flag me as a spammer).

No worries on the technologies. You're using a CSS preprocesser, which is better than other projects can say.

My main concern is features. Subscriptions are only slightly lower on the list than the ability to upload and download mods. We can certainly test the spam issue before putting it live.

Link to comment
Share on other sites

No worries on the technologies. You're using a CSS preprocesser, which is better than other projects can say.

My main concern is features. Subscriptions are only slightly lower on the list than the ability to upload and download mods. We can certainly test the spam issue before putting it live.

I've used a few mail services that claim to deal with the spam issues. I've also set up my own mail servers, and I know that if we go that route it'll be tough to get working (we'd need a mailer daemon that paces itself, as well as the enormouse headache of setting up a mail server with all the extra anti-spam stuff in place). It's probably 2 or 3 days of full time work to get the mail stuff going, but I'll put some more thought into it to see if it's worth it for version 1.

Link to comment
Share on other sites

I've used a few mail services that claim to deal with the spam issues. I've also set up my own mail servers, and I know that if we go that route it'll be tough to get working (we'd need a mailer daemon that paces itself, as well as the enormouse headache of setting up a mail server with all the extra anti-spam stuff in place). It's probably 2 or 3 days of full time work to get the mail stuff going, but I'll put some more thought into it to see if it's worth it for version 1.

A big thing to help avoid getting tagged as spamming is in DNS to have your PTR set to match the hostname (A record) for the server (I do DNS changes all the time for folks that have space in the datacenter I work at). Having a properly set up SPF entry also helps, as that verifies via a DNS entry what servers are authorized to send email for the domain, and quite a few places use (lack of) SPF as part of the spam determination process.

Most of this, of course, can wait until a more solid determination of what domain is going to be used for ReplacePort (still my preferred name, by the way ;) ).

Link to comment
Share on other sites

Okay, I set up the mod creation workflow and I'd like some feedback on it. Create an account and then create a mod, and let me know what you think of the flow.

I recorded a video of the process if you'd rather not go to the trouble of creating an account and everything: https://mediacru.sh/OYfwB2-tZIwP

The code is all pushed up to GitHub, feedback on that is also welcome: [snip]

Edited by Snark
Link removed by moderator; original site defunct, now taken over by malware
Link to comment
Share on other sites

I have tried to test the registration with the following issue during registration:

ReporSteps:

1. I have entered a email, username and PW clicked on register.

2. The Site told me that I have to click a link in the a confirmation email.

3. I clicked that link from the confirmation email and the site told me:

4. Hmm, that doesn't seem to be a proper confirmation. Can you double check the link or send an email to [snip]?

I have send a email to the support address shown above with the registration email attached.

But im registered anyway:

Next thing i was trieing to make my profiel public (cause some text on the profile site says that i have to to create a new mod.

I just have clicked "Make Profile Public" button (next to my Username) and got a #500 "Internal Server errror".

The link below the "Mods you've created" area seems to work.

My first try of adding a mod faild.

I have followed all requred stepps to create a mod (Title, descrition, installation, additional and uploadfiles (4pics and a zip archive (2MB)). I clicked continue and after about 60% of the upload i got a new pare "Page is not available".

I have redone the process, but the first click on "Create new mod" gave a #500 "Internal server error" again.

Second try leads me to the mod creation site again.

But i'm not able anymore to add any file. Not with drag & drop nor with klick on the link.

Third try (after a refresh) i was able to upload again, but got the same result as above at about 60% i got the "Page is not available".

I'll give it a new try later ;)

Just some first thoughts:

The process seems pritty foreward, but i would prefare a single site to create a mod. The current process leads the user over several sites, but you don't have the chance to go back a step.

A Page refresh should keep the input i have done or the site should warn me of the loss of all entered data.

Edited by Snark
Link removed by moderator; original site defunct, now taken over by malware
Link to comment
Share on other sites

I just manually confirmed your account, sorry about that. Someone else reported it and I haven't deployed the fix yet. (I have done so now, though).

Next thing i was trieing to make my profiel public (cause some text on the profile site says that i have to to create a new mod.

I just have clicked "Make Profile Public" button (next to my Username) and got a #500 "Internal Server errror".

The link in the bwlow the "Mods you've created" area seems to work.

Sorry for the 500 errors, I was fixing a few bugs rapid-fire after hearing from another user. All should be well now.

Edited by SirCmpwn
Link to comment
Share on other sites

Thanks for the testing. Sorry it was finicky last night.

The process seems pritty foreward, but i would prefare a single site to create a mod. The current process leads the user over several sites, but you don't have the chance to go back a step.

I'll see if I can add a "Back" button. It should be pretty easy to do.

A Page refresh should keep the input i have done or the site should warn me of the loss of all entered data.

This isn't easy to do, but I'll see what's possible.

Update: I added a back button, but I haven't deployed it yet. Going to try and fix some deployment issues on production first. Refreshing the page and saving data actually should be fairly possible, and is already mostly done for us by the browser.

Edited by SirCmpwn
Link to comment
Share on other sites

Is there anything on this front approaching a consensus?

I'd like to know this as well. I'm just seeing a lot of fragmentation of unofficial KSP sites; I'm hoping for a single, final product that can be collaborated upon and can be advertised (making arrangements with developers, better incentives than Curse's, restrictive advertising program for monetization (like not just any ad pulled off AdSense; ads directed towards gamers, like KSP dedicated servers, graphics cards, or maybe even entry-level telescopes. No tracking cookies would be placed or anything; it would just be a random list of images submitted by advertisers.), etc.)

Link to comment
Share on other sites

The overall goals I have are:

  • Good UX overall for modders and users alike
    • By extension, good search, good hosting, multiple versions of mods and KSP, and so on

    [*]Respectful of Do Not Track

    [*]Project Wonderful ads (maybe?), with revenue sharing if there's any revenue to share

    • I use Project Wonderful on https://mediacru.sh, they have good ethics and a good community. MediaCrush's finances are posted here.

    [*]Open source and well designed ([snip]) so others can contribute and it can scale well

    [*]Email users when mods update (I said this would be tough, but I did some more research and it can be done for version 1)

So far I've implemented user accounts and mod creation, and tonight I'll polish up mod creation and probably get down to search stuff. I think my efforts are promising, hopefully others can agree and help out.

Edited by Snark
Link removed by moderator; original site defunct, now taken over by malware
Link to comment
Share on other sites

One of the problematic things for modders in having multiple download sites, is the work involved in maintaining them. Since many modders already use github, I'd suggest that a replaceport have the ability to fetch mod updates from a github repo, and its changelog notes. That way, we can just make a release there as normal, and not have to update the mod page each time.

github delivers releases in a format that's easy to parse in php etc. Example.

Link to comment
Share on other sites

I think it would be feasible to parse this and create new versions automatically, but the only issue is that with a site hosting hundreds of mods, polling GitHub periodically for all of their releases would be troublesome.

You could use webhooks instead, and that should do the trick. Modders would have to link the site up with their GitHub repository and follow some instructions to get their hook plugged in.

Link to comment
Share on other sites

I think it would be feasible to parse this and create new versions automatically, but the only issue is that with a site hosting hundreds of mods, polling GitHub periodically for all of their releases would be troublesome.

You could use webhooks instead, and that should do the trick. Modders would have to link the site up with their GitHub repository and follow some instructions to get their hook plugged in.

You can do it either way, but I wouldn't make it automatically update in any case. If the author can't take 1 minute to login to the 2nd site and hit an "update" button to synch the mods, then they might need to refine their schedule a bit. That eliminates any issues of pounding github (or any other site) with update checks completely.

Only having to actually upload the file in one place would indeed be magical though.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...