Jump to content
The Dark Mod Forums

TDM Community Github Organisation


Recommended Posts

Hi all,

I've created a new Github organisation to host any sort of assets people maybe want to share: https://github.com/thedarkmodcommunity

A Github 'organisation' is a collection of separate git repositories that can store code snippets, assets (model files, textures, sound files, etc) or documentation.  I know there is debate over the suitability of Git for binary files, but for small files and most things you'd use in a FM, it works totally fine.  FYI the maximum file size for upload is 100 MB, and the maximum repository size is 10 GB.

You don't need to know anything about Git to browse the repositories, or download files.  You just need to be able to use a browser.

I've created a repository for script snippets: https://github.com/thedarkmodcommunity/scripts

and one for models: https://github.com/thedarkmodcommunity/models

and one for prefabs: https://github.com/thedarkmodcommunity/prefabs

For models, it even has a built-in 3D viewer (just need to provide an .stl file). It won't show textures unfortunately, but you can switch between solid, wireframe and 'surface angle' views.  Example: https://github.com/thedarkmodcommunity/models/blob/main/darkmod/lights/non-extinguishable/streetlamps/streetlamp_with_signs/lamp_sign.stl

The models and prefabs are accompanied by a .jpeg preview image that is displayed automatically in the readme file.  Example: https://github.com/thedarkmodcommunity/models/tree/main/darkmod/lights/non-extinguishable/streetlamps/streetlamp_with_signs

I did this to help solve the following problems:

  • frustration with trying to locate existing code (searching through other FMs, searching the forums, having to ask)
  • frustration with the frequently out-of-date wiki.  There is some really great stuff on there but I would just like to be able to contribute and share in a central location without having to ask permission, or ask someone else to do it.
  • hopefully people won't have to keep asking the same questions over and over again - they can just browse the repositories
  • make updates easier - anyone with a Github account can create a pull request, or just send an admin the files they want added

TO BE CLEAR: this is NOT intended to replace SVN, or the Wiki, or the forums, but just to provide a central place for sharing assets, primarily for mappers want to easily share what they've done, or borrow existing stuff without having to reinvent the wheel.

So, if anyone wants to donate files, script snippets, whatever, please get in touch by replying, sending me a DM (here or on Discord), or by the 'normal' way and just create a pull request.

Also, if anyone else want to volunteer to help maintain this, please get in touch as well.  These people would just need to be able to create repositories (if needed), or review/merge pull requests.

Edited by Frost_Salamander
  • Like 3
Link to post
Share on other sites

Just want to mention, the several things:

  • you know you can find code at our svnbugtracker and such other things.
  • If you want to update the wiki, ask someone to create an account for you.
  • We advice people to use the search option of the forum and the wiki.

I love github, (check my repos.)
but i know if we need a new location for code and other info.

Edited by freyk
  • Like 1

Info: My portfolio and darkmod graphical installer
Amnesty for Bikerdude!

Link to post
Share on other sites
5 minutes ago, freyk said:

but i know if we need a new location for code and other info.

Hi @freyk yes this is the goal.

Asking people to search the forums and wiki isn't ideal.  The wiki is out of date and the forum search is terrible IMO (and I've seen plenty of others say the same).

This is primarily targeted at mappers who want to be able to find and re-use things quickly and easily.

 

  • Like 1
Link to post
Share on other sites

FYI I wasn't sure what open source license to add to the repos, so I've just added the LICENSE.txt from the root folder of the TDM installation.  If anyone thinks it should be anything different, please let me know.

  • Like 1
Link to post
Share on other sites
7 minutes ago, datiswous said:

Btw. Shouldn't this be listed under Arts Assets forum category? ;)

Well, there is also a scripts repo, and that is all I originally needed.  Too many places to post stuff - I'll never get it right 🙂

  • Like 2
Link to post
Share on other sites

For models, there is also a built-in 3D previewer, you just need to include an .stl file.  For example: https://github.com/thedarkmodcommunity/models/blob/main/darkmod/lights/non-extinguishable/streetlamps/streetlamp_with_signs/lamp_sign.stl

and also a diff-viewer, if anyone would find that useful: https://docs.github.com/en/github/managing-files-in-a-repository/3d-file-viewer#diffs

  • Like 1
Link to post
Share on other sites

There is betamapper SVN repo, which can serve as a place to share assets.
Although I'm not sure what is its access policy today.

I don't understand why you suggest using GitHub as file hosting site.
How is it better than google drive and similar cloud storage?
What will you do if repos grow large? With textures, you can reach 1 GB after some time.

By the way, there is long-standing plan to create official GitHub mirror for engine source code.
I'll have to create GitHub organization for TDM team, because the mirror repo should have several owners.
But it's not a problem to have two TDM organizations, of course.

  • Like 1
Link to post
Share on other sites

Speaking of licenses.

I think there is no reason to copy/paste TDM license, because it is huge and involves some third-party licences which your repos don't store.
It also has tendency to change, so your version would quickly get out of date.

If you want to ensure that materials in the repos could be included into the core mode, then you should have:

  1. GNU GENERAL PUBLIC LICENSE Version 3 for scripts.
  2. Creative Commons Attribution-Noncommercial-Share Alike 3.0 for models and prefabs (textures, etc).

 

  • Like 1
Link to post
Share on other sites
Posted (edited)
9 hours ago, stgatilov said:

There is betamapper SVN repo, which can serve as a place to share assets.
Although I'm not sure what is its access policy today.

I don't understand why you suggest using GitHub as file hosting site.
How is it better than google drive and similar cloud storage?
What will you do if repos grow large? With textures, you can reach 1 GB after some time.

By the way, there is long-standing plan to create official GitHub mirror for engine source code.
I'll have to create GitHub organization for TDM team, because the mirror repo should have several owners.
But it's not a problem to have two TDM organizations, of course.

Hi @stgatilov

What I was looking for primarily is a code repository and also a collaboration platform.  Google Drive or just plain storage don't give you that.  As a mapper, something like this is precisely what I need: https://github.com/thedarkmodcommunity/models/tree/main/darkmod/lights/non-extinguishable/streetlamps/streetlamp_with_signs

As a consumer of It, it is:

  • It is all in one place in a central, stable location (this is key)
  • publicly available, viewable, and browsable
  • it includes documentation about what it is I'm looking at
  • I don't need an account, or need to understand how to use Git or any other oddity
  • it has a 3D preview!
  • It is discoverable: I don't have to download some zip file, extract it and load the files in some other program to see what is in there - it's all there in the browser
  • I don't need to search a forum to find some link that may or may not work after someone decided to update/remove it.  If something IS changed, there is always the version history to look at
  • I can be notified of changes whenever someone updates it (we can do this with Discord or other methods)

As a contributor, it is:

  • version controlled, so I am confident my stuff will always be safe on a resilient cloud platform.  Despite the many arguments and claims to the contrary, this is absolutely fine for binary files as well.
  • I can see diffs and change history for text-based files
  • I can see diffs for image files and model files
  • I can update the content any time I like, and present it in a way that benefits the community (readmes, previews, code comments, examples, etc)
  • Anyone with a Github account can contribute, even if they don't want to be added to the organization.  They can fork the repository into their own account and do pull requests from there.  No need to ask for permissions, etc.
  • Even as a contributor, you don't even need to know how to use Git.  You can add files and create pull requests using the UI if you want.

As an administrator:

  • as above, it is a resilient cloud platform where I can be confident the content will be safe
  • it is easily managed by a community.  You can delegate permissions to teams or individuals on individual repositories (this is why I did it as an organisation, not a single repository).  See the current teams, or the docs: https://docs.github.com/en/organizations
  • you have some control over the quality of the content.  Using the pull-request model, you can review contributions and ensure they conform to some sort of standard or convention.  I'm not suggesting some sort of stifling draconian controls, but the functionality is there for basic moderation.
  • Unlimited storage.  As I mentioned in the original post, individual file sizes can be up to 100 MB and repository size can be up to 10 GB.  We can create an unlimited number of repositories.  If one gets too large, you simply create another one.  This can be mitigated somewhat by being organized about it (e.g. different repos for different texture types, etc).  This is a total non-issue.
  • It is not tied to someones individual account, like Google Drive.  Sure, there are 2 of us that are admins right now, but anyone else is welcome to come on board to help manage it.  If anyone gets 'hit by a bus', it is easy to take over.  No need to transfer everything to some other account, etc.

I'm glad to hear there is a plan to have a mirror for the TDM source code in Github.  I am one of the people that would love to help contribute to that, but the whole SVN thing has put me off (like many, many others I've seen over the years).  However I don't want to get into that debate about SVN vs. Git here, that's a different story and has been done to death here.

However - there is no need to create a new organization just for that.  I would strongly suggest we discuss this first.  Why separate them?  TDM is an open source project! Keep it all together.  You mentioned you need multiple owners of the repositories.  I have shown you can do that using the 'teams': https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories

You can have a 'core TDM' team which has admin or write access to the TDM source repositories - and keep these permissions separate from the other repositories.

It is not my intention at all to be the sole administrator of this - TDM is a community effort and there should be lots of people in the organisation, with multiple administrators.  This is what Github organizations where designed for.  All we need to is some volunteers, like any other community effort 🙂

 

 

 

Edited by Frost_Salamander
  • Like 1
Link to post
Share on other sites
4 hours ago, stgatilov said:

Speaking of licenses.

I think there is no reason to copy/paste TDM license, because it is huge and involves some third-party licences which your repos don't store.
It also has tendency to change, so your version would quickly get out of date.

If you want to ensure that materials in the repos could be included into the core mode, then you should have:

  1. GNU GENERAL PUBLIC LICENSE Version 3 for scripts.
  2. Creative Commons Attribution-Noncommercial-Share Alike 3.0 for models and prefabs (textures, etc).

 

Thank you @stgatilov this is exactly what I was looking for 👍

  • Like 1
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

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