LandSandBoat / server

:sailboat: LandSandBoat - a server emulator for Final Fantasy XI
https://landsandboat.github.io/server/
GNU General Public License v3.0
303 stars 613 forks source link

🔨 Update contributors guide and rules #2314

Open zach2good opened 2 years ago

zach2good commented 2 years ago

Describe the feature

As with all software projects, docs get outdated and left behind, and rules/requirements change and get added.

We've had an influx of new contributors recently and we could do with clarifying things that we want (and then announcing the new rules very loudly).

(add more suggestions)

zach2good commented 2 years ago
zach2good commented 2 years ago

We care more about being an emulation software, not a server platform. We're not interested in providing and maintaining GM tools, auction house automation scripts etc.

zach2good commented 2 years ago

We get many many reports of bugs from altered or very outdated versions of the software. The only sane way for us to triage bugs is to make sure they're reproducible on our latest base branch, so do that

TeoTwawki commented 2 years ago

We care more about being an emulation software, not a server platform. We're not interested in providing and maintaining GM tools, auction house automation scripts etc.

we should have a bit of wiggle room on this: while we may see fit to do something that happens to benefit those things, it's not our main goal here. More of a happy side effect. More may or may not happen in the future but nobody should expect those things as a standard use of our time.

WinterSolstice8 commented 2 years ago

perhaps it's time for https://github.com/LandSandBoat/server/wiki/Proof-of-Work

zach2good commented 2 years ago

perhaps it's time for https://github.com/LandSandBoat/server/wiki/Proof-of-Work

Absolutely

TeoTwawki commented 2 years ago

Seconded and thirded. There are a small number of things I wouldn't be as strict on, but 99% of everything should be backed by caps and provably true before reaching a PR.

TeoTwawki commented 2 years ago
  • Clarify who/when a Draft PR is acceptable, we've set a bad example and it's has become a sort of norm when it shouldn't have

I think PRs should be mostly DONE before hitting our repo, or it should be a discussion thread instead of a PR. Drafts should be either devs making visibility (example: Zach on Chocolos stuff) -or- a collaborating thing between multiple people for a feature branch (example: garrison)

zach2good commented 2 years ago

Start discouraging the use of many many IDs checked into Lua.

zach2good commented 2 years ago
TeoTwawki commented 2 years ago
  1. This project is not anyone's dayjob. While we go through a lot of trouble to keep things as buttoned up as we can, this is not a professional product it is a hobby project and your quality expectations should adjust accordingly.
  2. Having opened a pull request doesn't mean you are owed anything
  3. Thing_A being wrong doesn't make creating a Thing_B wrong ok.
  4. This should not need said but somehow feels like it does lately: we are not required to merge any of the work nor required to merge the whole contents (reference to no.2 and no.3)
  5. While the Code of Conduct is intended to cover this, recently displayed attitudes by multiple persons both on and off GitHub indicate the need to reiterate right in the guides that snapping at mouthing off at or slandering devs to users on or off GitHub is not acceptable and repeat offenders WILL be kicked to the curb and given no further assistance.

other thoughts:

  • Make sure a link to the capture discord is displayed and prominent, and make sure it's obvious that we want things to be built by looking at caps, not by something your cousin's friend who had a relic in 2007 said at a LAN party once while you were drunk.

It's ironic (and very frustrating) that LSB members occasionally gets accused of doing this by people who don't really know what retail actually does when we actually use caps, while we struggle to stave off people trying to bring in wrong things based on what they saw some dude on the internet say without any verification. Even if every single commit linked a live stream I think it'd still happen.

zach2good commented 2 years ago

While the Code of Conduct is intended to cover this, recently displayed attitudes by multiple persons both on and off GitHub indicate the need to reiterate right in the guides that snapping at mouthing off at or slandering devs to users on or off GitHub is not acceptable and repeat offenders WILL be kicked to the curb and given no further assistance.

It has always felt as if the code of conduct is there to protect users/contributors from unfair treatment by us, and we've not done a good job of using it to defend us from toxic users/contributors. I think we should be a lot more active in starting the code of conduct warning process against people who are harassing us because we want good code/proof/sane PR titles/retail accurate changes/no snarky PR titles/not to be treated like shit for being the maintainers of this project etc.

zach2good commented 1 year ago

It benefits us (through bug reports) if:

As a small team of volunteers, the only way we find out about bugs is through bug reports. If you don't report it, we'll never know, and we can't fix it.
zach2good commented 1 year ago

I want to get across the point that: If you're running a server and you get a bunch of players, and you customise it and you're having a really good time - that's great - but it's of no value to us if you don't report bugs and innaccuracies and crashes to us

zach2good commented 1 year ago
zach2good commented 1 year ago

Using Era Dynamis as an example:

It'd be cool if we had it available as a module, and it was all stable and fast and correct, and nobody had to mess with it unless they wanted to customise it, but if it's anything less than all of those things - we'll be getting bug reports about it and having to maintain it. Which takes time and energy away from "produce an accurate server emulator for the modern retail version of the FFXI"

EDIT: Specifically because its some of the only hugely popular content that was reworked and doesn't bear any resemblance to its original form. I still don't know how similar Dynamis Divergence is, and whether or not a good and full implementation of DynaD could be retooled with modules to provide Era Dynamis?