Coder Social home page Coder Social logo

timo972 / altconfig Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 39 KB

Go package to read alt-config format files. Port of @altmp/alt-config

Home Page: https://pkg.go.dev/github.com/timo972/altconfig

License: MIT License

Go 100.00%
altv altv-dev altv-server altvmp config golang altv-go

altconfig's Introduction

alt-config port in go

Go package for reading alt-config format config files which are used by alt:V Multiplayer.
Maybe you want to use this package along the alt:V Go module.

altMP alt-config (C++)

Deprecation notice

โš ๏ธ alt:V has moved to toml configuration files, so this package is obsolete

Usage

# server.cfg
name: Test
port: 7788
announce: true
token: 'my token with special chars'
modules: [
    'go-module'
]
resources: [
    test
]
voice: {
    port: 7789
    ip: 127.0.0.1
    external: true
}
// main.go
package main

import (
	"fmt"
	"github.com/timo972/altconfig/schemes"
	"io/ioutil"
	"github.com/timo972/altconfig"
)

const (
	ServerConfigFile = "server.cfg"
)

func main() {
	data, err := ioutil.ReadFile(ServerConfigFile)
	if err != nil {
		// Error if file not found or not permitted to read
		panic(err)
	}

	// schemes package contains predefined alt:V Config files (server.cfg, resource.cfg, stream.cfg voice.cfg, altv.cfg)
	var config schemes.ServerConfig
	err = altconfig.Unmarshal(data, &config)
	if err != nil {
		panic(err)
	}

	// Access server.cfg name field
	fmt.Printf("Server Name: %s\n", config.Name)

	// Set server port
	config.Port = 7787
	
	data, err = altconfig.Marshal(config)
	if err != nil {
		panic(err)
    }
	
	// Save server.cfg with port changed to 7787
	err = ioutil.WriteFile(ServerConfigFile, data, 0644)
	if err != nil {
		panic(err)
    }
}

altconfig's People

Contributors

timo972 avatar

Watchers

 avatar

altconfig's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.