56 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
users = {
 | 
						|
    'minecraft': {},
 | 
						|
}
 | 
						|
 | 
						|
directories = {
 | 
						|
    '/opt/minecraft': {
 | 
						|
        'owner': 'minecraft',
 | 
						|
    },
 | 
						|
    '/var/lib/minecraft': {
 | 
						|
        'owner': 'minecraft',
 | 
						|
    },
 | 
						|
}
 | 
						|
 | 
						|
downloads = {
 | 
						|
    '/opt/minecraft/server.jar': {
 | 
						|
        'url': node.metadata.get('minecraft/download'),
 | 
						|
        'sha256': node.metadata.get('minecraft/sha256'),
 | 
						|
        'needs': {
 | 
						|
            'directory:/opt/minecraft',
 | 
						|
        },
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
for name, properties in node.metadata.get('minecraft/servers').items():
 | 
						|
    directories[f'/var/lib/minecraft/{name}'] = {
 | 
						|
        'owner': 'minecraft',
 | 
						|
    }
 | 
						|
 | 
						|
    files[f'/var/lib/minecraft/{name}/eula.txt'] = {
 | 
						|
        'content': 'eula=true',
 | 
						|
        'owner': 'minecraft',
 | 
						|
        'needed_by': {
 | 
						|
            f'svc_systemd:minecraft-{name}'
 | 
						|
        },
 | 
						|
        'triggers': {
 | 
						|
            f'svc_systemd:minecraft-{name}:restart'
 | 
						|
        },
 | 
						|
    }
 | 
						|
 | 
						|
    translations = {True: 'true', False: 'false', None: ''}
 | 
						|
    files[f'/var/lib/minecraft/{name}/server.properties'] = {
 | 
						|
        'content': '\n'.join(
 | 
						|
            f'{key}={translations.get(value, value)}'
 | 
						|
                for key, value in properties.items()
 | 
						|
        )+ '\n',
 | 
						|
        'owner': 'minecraft',
 | 
						|
        'needed_by': {
 | 
						|
            f'svc_systemd:minecraft-{name}'
 | 
						|
        },
 | 
						|
        'triggers': {
 | 
						|
            f'svc_systemd:minecraft-{name}:restart'
 | 
						|
        },
 | 
						|
    }
 | 
						|
 | 
						|
    svc_systemd[f'minecraft-{name}'] = {}
 |