• 0 Posts
Joined 1 year ago
Cake day: June 8th, 2023


  • As someone that just started modding and playing FNV for the first time about 2 weeks ago in linux, I must say this is one of the best mods for FNV and if you are planning to play the game I would highly recommend all the Viva New Vegas mods including the extended mods. With New Vegas Reloaded installed afterwards. Also I suggest you use a user generated preset for Reloaded. The Reloaded mod fixes a lot of issues I had with Viva New Vegas only and it adds many more features than I thought it would. It also seemed to have made the game run with less crashes too but I would still recommend CASM with MCM to improve the autosave functionality of the base game.

    While I agree that the use of discord is mildy infuriating. I’d like to play some Devil’s avavodo for a moment as someone that uses git almost everyday and teaches trunk based development.

    1. Not everyone knows how to use git. As a modding community they want outside contributions from anyone that is willing to put the time in and make as low as a barrier to entry as possible.

    2. Most of these modders are using windows and even just installing git on windows isnt that easy for the average windows user. Infact i only just recently fugured out how to get mod organizer 2 working properly on linux so I could mod FNV using modorganizer2-linux-installer. For the average windows user, needing to make a git commit to contribute to a modding comunity would be more than mildly infuriating. So I especially see the user generated presets for this never leaving discord unless some kind of pipeline / serverless function was inplace that took the discord file uploads and did a git commit for the user.

    3. Most of these builds are not plaintext and would not benifit from using git versioning. They should also probably make use of use git lfs considering their size which even less people understand how to use lfs compared to normal git.

    I think the easiest solution is to try to copy both the stable and the nightly builds to their github on their own respective branches. And make set them as releases. Idealy this would be automated using guthub actions. This is not a trunk based development approach, but neither is having nightly builds and it would take time to change development philosophy.

    The user generated presets however will take a bit more consideration before moving to github as anyone can upload them and they are made often. But this ultimately should also use github actions and be commited to a different repository possibly in the same organization (or what ever github calls it) as to keep a bit of distance from the official releases.

  • In TBD, it’s not a “release” until its production ready. The methodology and philosophy doesn’t prevent you from developing multiple feature branches at once or even deploying a work in progress feature branch to a dev environment.

    All TBD requires in that case is once the feature branch is production ready, it’s merged to the trunk. You may need to add a feature toggle if there are multiple release like for different architectures. And you also might benefit from using git tags and deploying to production from a git tag instead of the most recent commit on a branch.

    Exactly what you need to do is going to depend on the project’s exact needs but TBD is totally possible in that example.

  • If you are dipping toes into containers with kvm and proxmox already, then perhaps you could jump into the deep end and look at kubernetes (k8s).

    Even though you say you don’t need production quality. It actually does a lot for you and you just need to learn a single API framework which has really great documentation.

    Personally, if I am choosing a new service to host. One of my first metrics in that decision is how well is it documented.

    You could also go the simple route and use docker to make containers. However making your own containers is optional as most services have pre built ones that you can use.

    You could even use auto scaling to run your cluster with just 1 node if you don’t need it to be highly available with a lot of 9s in uptime.

    The trickiest thing with K8s is the networking, certs and DNS but there are services you can host to take care of that for you. I use istio for networking, cert-manager for certs and external-dns for DNS.

    I would recommend trying out k8s first on a cloud provider like digital ocean or linode. Managing your own k8s control plane on bare metal has its own complications.

  • I would say that if you are going to host it at home then kubenetes is more complex. Bare metal kubernetes control plane management has some pitfalls. But if you were to use a cloud provider like linode or digital ocean and use their kubernetes service, then only real extra complexity is learning how to manage Kubernetes which is minimal.

    There is a decent hardware investment needed to run kubernetes if you want it to be fully HA (which I would argue means it needs to be a minimum of 2 clusters of 3 nodes each on different continents) but you could run a single node cluster with autoscaling at a cloud provider if you don’t need HA. I will say it’s nice not to have to worry about a service failing periodically as it will just transfer to another node in a few seconds automatically.

  • You should try out all the options you listed and the other recommendations and find what works best for you.

    I personally use Kubernetes. It can be overwhelming but if you’re willing to learn some new jargon then try a managed kubernetes cluster. Like AKS or digital ocean kubernetes. I would avoid managing a kubernetes cluster yourself.

    Kubernetes gets a lot of flack for being overly complicated but what is being overlooked with that statement is all the things that kubernetes does for you.

    If you can spin up kubernetes with cert-manager, external-dns, and an ingress controller like istio then you got a whole automated data center for your docker containers.