Convert Figma logo to code with AI

luanti-org logoluanti

Luanti (formerly Minetest) is an open source voxel game-creation platform with easy modding and game creation

11,274
2,082
11,274
1,299

Top Related Projects

Release engineering, simplified

15,457

Build Container Images In Kubernetes

concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit

7,806

A tool that facilitates building OCI images.

OCI Image Format

Quick Overview

Luanti is an open-source project management tool designed to help teams organize and track their work efficiently. It offers a user-friendly interface for creating and managing tasks, projects, and workflows, with a focus on simplicity and collaboration.

Pros

  • Intuitive and easy-to-use interface
  • Customizable workflows to fit various team structures
  • Real-time collaboration features
  • Open-source and self-hostable

Cons

  • Limited integrations with other tools compared to some commercial alternatives
  • Documentation could be more comprehensive
  • May require technical expertise for self-hosting and customization

Code Examples

As Luanti is a project management tool and not a code library, there are no code examples to provide.

Getting Started

Since Luanti is a project management tool rather than a code library, there isn't a quick start code example. However, here are brief instructions for getting started with Luanti:

  1. Visit the Luanti GitHub repository: https://github.com/luanti-org/luanti
  2. Follow the installation instructions in the README.md file to set up Luanti on your server
  3. Once installed, create an admin account and log in to the Luanti dashboard
  4. Start by creating your first project and inviting team members
  5. Customize your workflow by creating task boards and defining task statuses
  6. Begin adding tasks and assigning them to team members

For more detailed instructions and documentation, refer to the project's wiki or documentation pages on the GitHub repository.

Competitor Comparisons

Release engineering, simplified

Pros of GoReleaser

  • More mature and widely adopted project with extensive documentation
  • Supports multiple programming languages and platforms
  • Offers a rich set of features including Docker image builds and Homebrew formula generation

Cons of GoReleaser

  • More complex configuration and setup process
  • Larger codebase and potentially steeper learning curve
  • May include unnecessary features for simpler projects

Code Comparison

Luanti configuration example:

version: 1
builds:
  - name: myapp
    main: ./cmd/myapp
    binary: myapp

GoReleaser configuration example:

builds:
  - main: ./cmd/myapp
    binary: myapp
    goos:
      - linux
      - windows
      - darwin

Key Differences

  • Luanti focuses specifically on Go projects, while GoReleaser supports multiple languages
  • GoReleaser provides more advanced features like cross-compilation and multiple artifact types
  • Luanti aims for simplicity and ease of use, while GoReleaser offers more customization options

Use Cases

  • Luanti: Ideal for small to medium-sized Go projects with straightforward release requirements
  • GoReleaser: Better suited for larger projects, multi-language codebases, or those needing advanced release automation

Community and Support

  • GoReleaser has a larger community and more frequent updates
  • Luanti is a newer project with a smaller but growing user base
15,457

Build Container Images In Kubernetes

Pros of kaniko

  • More mature and widely adopted project with extensive documentation
  • Supports building images without privileged access, enhancing security
  • Offers caching mechanisms for faster subsequent builds

Cons of kaniko

  • Larger image size and resource footprint
  • More complex setup and configuration process
  • Limited to container-based environments

Code Comparison

kaniko:

FROM gcr.io/kaniko-project/executor:latest as builder
COPY --from=source /app /workspace
RUN /kaniko/executor --context=/workspace --destination=myregistry.com/myimage

luanti:

FROM luanti:latest
COPY . /app
RUN luanti build -t myregistry.com/myimage .

Key Differences

  • kaniko is specifically designed for building container images in Kubernetes environments, while luanti aims to be a more general-purpose build tool
  • luanti offers a simpler setup and usage, making it easier for beginners to get started
  • kaniko provides more advanced features for enterprise-level container image building, such as layer caching and multi-stage builds
  • luanti focuses on lightweight and fast builds, potentially sacrificing some advanced features

Use Cases

  • Choose kaniko for complex, container-centric CI/CD pipelines in Kubernetes environments
  • Opt for luanti when simplicity and ease of use are priorities, especially in non-containerized environments

concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit

Pros of Buildkit

  • More mature and widely adopted project with extensive documentation
  • Supports concurrent and distributed builds for improved performance
  • Offers advanced caching mechanisms for faster builds

Cons of Buildkit

  • Steeper learning curve due to its complex architecture
  • Requires more setup and configuration compared to simpler alternatives
  • May be overkill for small-scale projects or simple build requirements

Code Comparison

Buildkit (Dockerfile):

# syntax=docker/dockerfile:1.4
FROM alpine
RUN --mount=type=cache,target=/var/cache/apk \
    apk add --update gcc
COPY . /src
RUN --mount=type=cache,target=/root/.cache/go-build \
    go build -o /bin/myapp ./cmd/myapp

Luanti (build.yaml):

steps:
  - name: Build
    run: |
      go build -o myapp ./cmd/myapp
  - name: Test
    run: |
      go test ./...

Summary

Buildkit is a powerful and feature-rich build toolkit for containerized applications, offering advanced caching and concurrent build capabilities. It's well-suited for complex, large-scale projects but may be excessive for simpler builds. Luanti, on the other hand, appears to be a more straightforward build tool with a simpler configuration, making it potentially easier to use for smaller projects or those new to containerization.

7,806

A tool that facilitates building OCI images.

Pros of Buildah

  • More mature and widely adopted project with extensive documentation
  • Supports building OCI-compliant container images without requiring root privileges
  • Integrates well with other container tools like Podman and Skopeo

Cons of Buildah

  • Focused solely on container image building, lacking broader CI/CD functionality
  • Steeper learning curve for users new to container technologies
  • Requires more manual configuration compared to all-in-one CI/CD solutions

Code Comparison

Buildah:

buildah from fedora
buildah run fedora-working-container dnf install -y httpd
buildah commit fedora-working-container fedora-httpd
buildah push fedora-httpd docker://example.com/fedora-httpd:latest

Luanti:

steps:
  - name: Build and push Docker image
    uses: docker/build-push-action@v2
    with:
      context: .
      push: true
      tags: example.com/my-image:latest

Summary

Buildah is a specialized tool for building container images, offering more flexibility and control over the build process. It's particularly useful for advanced users and complex container scenarios. Luanti, on the other hand, appears to be a more general-purpose CI/CD tool that may offer easier setup and integration for typical development workflows, but with potentially less granular control over container image creation.

OCI Image Format

Pros of image-spec

  • Widely adopted standard for container images
  • Comprehensive documentation and specifications
  • Active community and regular updates

Cons of image-spec

  • More complex and harder to implement for beginners
  • Focuses solely on image specifications, not a complete container solution

Code comparison

image-spec:

{
  "mediaType": "application/vnd.oci.image.manifest.v1+json",
  "schemaVersion": 2,
  "config": {
    "mediaType": "application/vnd.oci.image.config.v1+json",
    "size": 7023,
    "digest": "sha256:b5b2b2c507a0944348e0303114d8d93aaaa081732b86451d9bce1f432a537bc7"
  },
  "layers": [
    {
      "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
      "size": 32654,
      "digest": "sha256:9834876dcfb05cb167a5c24953eba58c4ac89b1adf57f28f2f9d09af107ee8f0"
    }
  ]
}

luanti:

version: '1'
services:
  web:
    image: nginx:latest
    ports:
      - "80:80"
  db:
    image: postgres:12
    environment:
      POSTGRES_PASSWORD: example

Note: The code comparison is not directly equivalent as the projects serve different purposes. image-spec focuses on image specifications, while luanti appears to be a container orchestration tool.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Luanti (formerly Minetest)

Build Status Translation status License

Luanti is a free open-source voxel game engine with easy modding and game creation.

Copyright (C) 2010-2025 Perttu Ahola celeron55@gmail.com and contributors (see source file comments and the version control log)

Table of Contents

  1. Further Documentation
  2. Default Controls
  3. Paths
  4. Configuration File
  5. Command-line Options
  6. Compiling
  7. Docker
  8. Version Scheme

Further documentation

Default controls

All controls are re-bindable using settings. Some can be changed in the key config dialog in the settings tab.

ButtonAction
Move mouseLook around
W, A, S, DMove
SpaceJump/move up
ShiftSneak/move down
QDrop itemstack
Shift + QDrop single item
Left mouse buttonDig/punch/use
Right mouse buttonPlace/use
Shift + right mouse buttonBuild (without using)
IInventory menu
Mouse wheelSelect item
0-9Select item
ZZoom (needs zoom privilege)
TChat
/Command
EscPause menu/abort/exit (pauses only singleplayer game)
+Increase view range
-Decrease view range
KEnable/disable fly mode (needs fly privilege)
JEnable/disable fast mode (needs fast privilege)
HEnable/disable noclip mode (needs noclip privilege)
EAux1 (Move fast in fast mode. Games may add special features)
CCycle through camera modes
VCycle through minimap modes
Shift + VChange minimap orientation
F1Hide/show HUD
F2Hide/show chat
F3Disable/enable fog
F4Disable/enable camera update (Mapblocks are not updated anymore when disabled, disabled in release builds)
F5Cycle through debug information screens
F6Cycle through profiler info screens
F10Show/hide console
F12Take screenshot

Paths

Locations:

  • bin - Compiled binaries
  • share - Distributed read-only data
  • user - User-created modifiable data

Where each location is on each platform:

  • Windows .zip / RUN_IN_PLACE source:
    • bin = bin
    • share = .
    • user = .
  • Windows installed:
    • bin = C:\Program Files\Minetest\bin (Depends on the install location)
    • share = C:\Program Files\Minetest (Depends on the install location)
    • user = %APPDATA%\Minetest or %MINETEST_USER_PATH%
  • Linux installed:
    • bin = /usr/bin
    • share = /usr/share/minetest
    • user = ~/.minetest or $MINETEST_USER_PATH
  • macOS:
    • bin = Contents/MacOS
    • share = Contents/Resources
    • user = Contents/User or ~/Library/Application Support/minetest or $MINETEST_USER_PATH

Worlds can be found as separate folders in: user/worlds/

Configuration file

  • Default location: user/minetest.conf
  • This file is created by closing Luanti for the first time.
  • A specific file can be specified on the command line: --config <path-to-file>
  • A run-in-place build will look for the configuration file in location_of_exe/../minetest.conf and also location_of_exe/../../minetest.conf

Command-line options

  • Use --help

Compiling

Docker

Version scheme

We use major.minor.patch since 5.0.0-dev. Prior to that we used 0.major.minor.

  • Major is incremented when the release contains breaking changes, all other numbers are set to 0.
  • Minor is incremented when the release contains new non-breaking features, patch is set to 0.
  • Patch is incremented when the release only contains bugfixes and very minor/trivial features considered necessary.

Since 5.0.0-dev and 0.4.17-dev, the dev notation refers to the next release, i.e.: 5.0.0-dev is the development version leading to 5.0.0. Prior to that we used previous_version-dev.