add bundle:minecraft to rx300
This commit is contained in:
parent
fba5d6a782
commit
3dce0fb6ac
5 changed files with 300 additions and 0 deletions
96
bundles/minecraft/metadata.py
Normal file
96
bundles/minecraft/metadata.py
Normal file
|
@ -0,0 +1,96 @@
|
|||
from bundlewrap.metadata import atomic
|
||||
|
||||
defaults = {
|
||||
'apt': {
|
||||
'packages': {
|
||||
'openjdk-17-jre': {},
|
||||
},
|
||||
},
|
||||
'backups': {
|
||||
'paths': {
|
||||
'/home/minecraft',
|
||||
},
|
||||
},
|
||||
'minecraft': {
|
||||
'java_opts': {
|
||||
# https://aikar.co/2018/07/02/tuning-the-jvm-g1gc-garbage-collector-flags-for-minecraft/
|
||||
'-Daikars.new.flags': 'true',
|
||||
'-Dusing.aikars.flags': 'https://mcflags.emc.gs',
|
||||
'-XX:+AlwaysPreTouch': None,
|
||||
'-XX:+DisableExplicitGC': None,
|
||||
'-XX:+ParallelRefProcEnabled': None,
|
||||
'-XX:+PerfDisableSharedMem': None,
|
||||
'-XX:+UnlockExperimentalVMOptions': None,
|
||||
'-XX:G1HeapRegionSize': '16M',
|
||||
'-XX:G1HeapWastePercent': 5,
|
||||
'-XX:G1MaxNewSizePercent': 50,
|
||||
'-XX:G1MixedGCCountTarget': 4,
|
||||
'-XX:G1MixedGCLiveThresholdPercent': 90,
|
||||
'-XX:G1NewSizePercent': 40,
|
||||
'-XX:G1RSetUpdatingPauseTimePercent': 5,
|
||||
'-XX:G1ReservePercent': 15,
|
||||
'-XX:InitiatingHeapOccupancyPercent': 20,
|
||||
'-XX:MaxGCPauseMillis': 200,
|
||||
'-XX:MaxTenuringThreshold': 1,
|
||||
'-XX:SurvivorRatio': 32,
|
||||
},
|
||||
},
|
||||
'users': {
|
||||
'minecraft': {},
|
||||
},
|
||||
'zfs': {
|
||||
'datasets': {
|
||||
'tank/minecraft': {},
|
||||
'tank/minecraft/overworld': {
|
||||
'mountpoint': '/home/minecraft/world',
|
||||
'compression': 'on',
|
||||
'needed_by': {
|
||||
'directory:/home/minecraft/world',
|
||||
},
|
||||
},
|
||||
'tank/minecraft/nether': {
|
||||
'mountpoint': '/home/minecraft/world_nether',
|
||||
'compression': 'on',
|
||||
'needed_by': {
|
||||
'directory:/home/minecraft/world_nether',
|
||||
},
|
||||
},
|
||||
'tank/minecraft/end': {
|
||||
'mountpoint': '/home/minecraft/world_the_end',
|
||||
'compression': 'on',
|
||||
'needed_by': {
|
||||
'directory:/home/minecraft/world_the_end',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@metadata_reactor.provides(
|
||||
'minecraft/java_opts',
|
||||
)
|
||||
def heap_to_java_opts(metadata):
|
||||
heap_mb = metadata.get('minecraft/heap_mb')
|
||||
|
||||
return {
|
||||
'minecraft': {
|
||||
'java_opts': {
|
||||
f'-Xms{heap_mb}M': None,
|
||||
f'-Xmx{heap_mb}M': None,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@metadata_reactor.provides(
|
||||
'firewall/port_rules/25565',
|
||||
)
|
||||
def firewall(metadata):
|
||||
return {
|
||||
'firewall': {
|
||||
'port_rules': {
|
||||
'25565': atomic(metadata.get('minecraft/restrict-to', set())),
|
||||
},
|
||||
},
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue