Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Native pause/stop support #19

Open
itzg opened this issue Jan 13, 2022 · 3 comments
Open

Native pause/stop support #19

itzg opened this issue Jan 13, 2022 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@itzg
Copy link
Owner

itzg commented Jan 13, 2022

I have some ideas with using https://pkg.go.dev/github.com/google/gopacket/pcapgo , BPF, and adding CAP_BPF capability to the executable at build time.

@daniel-lerch
Copy link

This looks really interesting. Could you elaborate a bit more on how you want to implement this feature? Something like craftignite as discussed in itzg/docker-minecraft-server#874?

@itzg
Copy link
Owner Author

itzg commented Dec 16, 2022

Basically I'm wanting to bring the minimal bits of knockd into mc-server-runner. Specifically the ability to watch for, but not proxy, incoming TCP packets to port 25565. From what I can tell BPF is the Linux kernel mechanism that seems to be best suited for doing that efficiently.

On the other side of the solution mc-server-runner already knows how to exec the Java process, gracefully stop it, and of course knows whether the server is actively running or not.

@itzg
Copy link
Owner Author

itzg commented Jul 5, 2023

Another eBPF library to research: https://github.com/cilium/ebpf

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: To do
Development

No branches or pull requests

2 participants