Documentation ¶
Index ¶
Constants ¶
const ( // MinecraftConfigFile maps to `server.properties` MinecraftConfigFile string = "server.properties" // MinecraftDenyIPFile maps to `banned-ips.json` MinecraftDenyIPFile string = "banned-ips.json" // MinecraftDenyUserFile maps to `banned-players.json` MinecraftDenyUserFile string = "banned-players.json" // MinecraftOperatorUserFile maps to `ops.json` MinecraftOperatorUserFile string = "ops.json" // MinecraftAllowUserFile maps to `whitelist.json` MinecraftAllowUserFile string = "whitelist.json" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AllowUserList ¶
type AllowUserList []User
AllowUserList represents a list of users allowed to join a minecraft server. IE: The list of users from `whitelist.json`
func LoadAllowUserList ¶
func LoadAllowUserList(dir string) (AllowUserList, error)
LoadAllowUserList loads `whitelist.json`
type Config ¶
type Config struct { AllowFlight bool `properties:"allow-flight,default=false" json:"allow_flight" firestore:"allow_flight"` AllowNether bool `properties:"allow-nether,default=true" json:"allow_nether" firestore:"allow_nether"` BroadcastConsoleToOps bool `properties:"broadcast-console-to-ops,default=true" json:"broadcast_console_to_ops" firestore:"broadcast_console_to_ops"` BroadcastRconToOps bool `properties:"broadcast-rcon-to-ops,default=true" json:"broadcast_rcon_to_ops" firestore:"broadcast_rcon_to_ops"` Difficulty string `properties:"difficulty,default=easy" json:"difficulty" firestore:"difficulty"` EnableCommandBlock bool `properties:"enable-command-block,default=false" json:"enable_command_block" firestore:"enable_command_block"` EnableJmxMonitoring bool `properties:"enable-jmx-monitoring,default=false" json:"enable_jmx_monitoring" firestore:"enable_jmx_monitoring"` EnableRcon bool `properties:"enable-rcon,default=false" json:"enable_rcon" firestore:"enable_rcon"` SyncChunkWrites bool `properties:"sync-chunk-writes,default=true" json:"sync_chunk_writes" firestore:"sync_chunk_writes"` EnableStatus bool `properties:"enable-status,default=true" json:"enable_status" firestore:"enable_status"` EnableQuery bool `properties:"enable-query,default=false" json:"enable_query" firestore:"enable_query"` EntityBroadcastRangePercentage int `` /* 145-byte string literal not displayed */ ForceGamemode bool `properties:"force-gamemode,default=false" json:"force_gamemode" firestore:"force_gamemode"` Gamemode string `properties:"gamemode,default=survival" json:"gamemode" firestore:"gamemode"` GenerateStructures bool `properties:"generate-structures,default=true" json:"generate_structures" firestore:"generate_structures"` GeneratorSettings string `properties:"generator-settings,default=" json:"generator_settings" firestore:"generator_settings"` Hardcore bool `properties:"hardcore,default=false" json:"hardcore" firestore:"hardcore"` LevelName string `properties:"level-name,default=world" json:"level_name" firestore:"level_name"` LevelSeed string `properties:"level-seed,default=" json:"level_seed" firestore:"level_seed"` LevelType string `properties:"level-type,default=default" json:"level_type" firestore:"level_type"` MaxBuildHeight int `properties:"max-build-height,default=256" json:"max_build_height" firestore:"max_build_height"` MaxPlayers int `properties:"max-players,default=20" json:"max_players" firestore:"max_players"` MaxTickTime int `properties:"max-tick-time,default=60000" json:"max_tick_time" firestore:"max_tick_time"` MaxWorldSize int `properties:"max-world-size,default=29999984" json:"max_world_size" firestore:"max_world_size"` MotD string `properties:"motd,default=A Minecraft Server" json:"motd" firestore:"motd"` NetworkCompressionThreshold int `` /* 133-byte string literal not displayed */ OnlineMode bool `properties:"online-mode,default=true" json:"online_mode" firestore:"online_mode"` OpPermissionLevel int `properties:"op-permission-level,default=4" json:"op_permission_level" firestore:"op_permission_level"` PlayerIdleTimeout int `properties:"player-idle-timeout,default=0" json:"player_idle_timeout" firestore:"player_idle_timeout"` PreventProxyConnections bool `properties:"prevent-proxy-connections,default=false" json:"prevent_proxy_connections" firestore:"prevent_proxy_connections"` PvP bool `properties:"pvp,default=true" json:"pvp" firestore:"pvp"` QueryPort int `properties:"query.port,default=25565" json:"query_port" firestore:"query_port"` RateLimit int `properties:"rate-limit,default=0" json:"rate_limit" firestore:"rate_limit"` RconPassword string `properties:"rcon.password,default=" json:"rcon_password" firestore:"rcon_password"` RconPort int `properties:"rcon.port,default=25575" json:"rcon_port" firestore:"rcon_port"` ResourcePack string `properties:"resource-pack,default=" json:"resource_pack" firestore:"resource_pack"` ResourcePackSHA1 string `properties:"resource-pack-sha1,default=" json:"resource_pack_sha1" firestore:"resource_pack_sha1"` RequireResourcePack bool `properties:"require-resource-pack,default=false" json:"require_resource_pack" firestore:"require_resource_pack"` ServerIP string `properties:"server-ip,default=" json:"server_ip" firestore:"server_ip"` ServerPort int `properties:"server-port,default=25565" json:"server_port" firestore:"server_port"` SnooperEnabled bool `properties:"snooper-enabled,default=true" json:"snooper_enabled" firestore:"snooper_enabled"` SpawnAnimals bool `properties:"spawn-animals,default=true" json:"spawn_animals" firestore:"spawn_animals"` SpawnMonsters bool `properties:"spawn-monsters,default=true" json:"spawn_monsters" firestore:"spawn_monsters"` SpawnNpcs bool `properties:"spawn-npcs,default=true" json:"spawn_npcs" firestore:"spawn_npcs"` ViewDistance int `properties:"view-distance,default=10" json:"view_distance" firestore:"view_distance"` WhiteList bool `properties:"white-list,default=false" json:"white_list" firestore:"white_list"` EnforceWhitelist bool `properties:"enforce-whitelist,default=false" json:"enforce_whitelist" firestore:"enforce_whitelist"` }
Config represents the Minecraft server config
func LoadConfig ¶
LoadConfig loads server config from the provided directory
type Deny ¶
type Deny struct { // Created is when the ban was created Created MinecraftTime `json:"created" firestore:"created"` // Source represents where the ban originated from. IE: user or console Source string `json:"source" firestore:"source"` // Expires represents when the ban expires, usually "forever" Expires MinecraftTime `json:"expires" firestore:"expires"` // Reason represents why a ban was created Reason string `json:"reason" firestore:"reason"` }
Deny represents why a `User` or `net.IP` was denied access to a server.
type DenyIP ¶
type DenyIP struct { // IP is the `net.IP` that was banned, typically IPv4 IP net.IP `json:"ip" firestore:"ip"` Deny }
DenyIP represents why a `net.IP` was denied access to a server.
type DenyIPList ¶
type DenyIPList []DenyIP
DenyIPList represents a list of `net.IP` that were banned from a server and why. IE: The list of IPs from `banned-ips.json`
func LoadDenyIPList ¶
func LoadDenyIPList(dir string) (DenyIPList, error)
LoadDenyIPList loads `banned-ips.json`
type DenyUserList ¶
type DenyUserList []DenyUser
DenyUserList represents a list of `User` that were banned from a server and why. IE: The list of Users from `banned-ips.json`
func LoadDenyUserList ¶
func LoadDenyUserList(dir string) (DenyUserList, error)
LoadDenyUserList loads `banned-players.json`
type MinecraftTime ¶
MinecraftTime is a JSON representation of time in Minecraft. "forever" is decoded as a zero time and vice versa..
func (MinecraftTime) MarshalJSON ¶
func (mt MinecraftTime) MarshalJSON() ([]byte, error)
MarshalJSON encodes a MinecrafTime into JSON
func (*MinecraftTime) UnmarshalJSON ¶
func (mt *MinecraftTime) UnmarshalJSON(byteJSON []byte) (err error)
UnmarshalJSON decodes a json byte array into a MinecrafTime
type OperatorUser ¶
type OperatorUser struct { User // Level represents the operator level which determines what they can modify Level int `json:"level" firestore:"level"` BypassesPlayerLimit bool `json:"bypassesPlayerLimit" firestore:"bypasses_player_limit"` }
OperatorUser represents an operator in the OperatorUserList
type OperatorUserList ¶
type OperatorUserList []OperatorUser
OperatorUserList represents a list of operators of a minecraft server IE: The list of operators from `ops.json`
func LoadOperatorUserList ¶
func LoadOperatorUserList(dir string) (OperatorUserList, error)
LoadOperatorUserList loads `pos.json`