Mercurial > code > home > repos > infra
changeset 284:a46eb2a77df7
minecraft forwarding
author | drewp@bigasterisk.com |
---|---|
date | Mon, 15 Apr 2024 02:28:52 -0700 |
parents | 0befc8696a07 |
children | ddf4a0faf97f |
files | system.py templates/webforward.service.j2 |
diffstat | 2 files changed, 10 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/system.py Mon Apr 15 02:28:05 2024 -0700 +++ b/system.py Mon Apr 15 02:28:52 2024 -0700 @@ -45,9 +45,15 @@ def web_forward(): for port in [80, 443]: - files.template(src="templates/webforward.service.j2", dest=f"/etc/systemd/system/web_forward_{port}.service", pom_serv_host='bang', port=port) + files.template(src="templates/webforward.service.j2", dest=f"/etc/systemd/system/web_forward_{port}.service", serv_host='bang', port=port, name='web', fam='tcp') systemd.service(service=f'web_forward_{port}', enabled=True, restarted=True) +def minecraft_forward(): + port = 25765 + for fam in ['tcp', 'udp']: + files.template(src="templates/webforward.service.j2", dest=f"/etc/systemd/system/mc_smp_{fam}_forward_{port}.service", serv_host='ditto', port=port, name='mc_smp', fam=fam) + systemd.service(service=f'mc_smp_{fam}_forward_{port}', enabled=True, restarted=True) + server.hostname(hostname=host.name) timezone() fstab() @@ -70,6 +76,7 @@ if host.name == 'prime': smaller_journals() web_forward() + minecraft_forward() # for space, consider: # k3s crictl rmi --prune
--- a/templates/webforward.service.j2 Mon Apr 15 02:28:05 2024 -0700 +++ b/templates/webforward.service.j2 Mon Apr 15 02:28:52 2024 -0700 @@ -1,7 +1,7 @@ # written by pyinfra [Unit] -Description=web forward for port {{ port }} +Description={{ fam }} forward for port {{ port }} Requires=network.target Wants=nss-lookup.target Before=nss-lookup.target @@ -10,7 +10,7 @@ [Service] Type=simple -ExecStart=/usr/bin/socat tcp-listen:{{ port }},fork,reuseaddr tcp:{{pom_serv_host}}:{{ port }} +ExecStart=/usr/bin/socat {{ 'tcp' if fam=='tcp' else 'udp4' }}-listen:{{ port }},fork,reuseaddr {{ 'tcp' if fam=='tcp' else 'udp' }}:{{serv_host}}:{{ port }} [Install] WantedBy=multi-user.target