Initial commit: Rampart v0.2.0
Multi-layer DDoS protection for Minecraft servers. - rampart-core: Edge node with XDP/eBPF + Rust L7 filtering - rampart-manager: REST API with JWT auth, Redis sync - rampart-cli: CLI tool for operators - velocity-plugin: Domain check, HMAC verify, server registry, load balancer - paper-plugin: Auto-registration, heartbeat, HMAC verify - dashboard: React + Vite web UI for management
This commit is contained in:
commit
cf9608ce5d
159 changed files with 15341 additions and 0 deletions
20
deploy/docker/Dockerfile.edge
Normal file
20
deploy/docker/Dockerfile.edge
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
FROM rust:1.84-slim-bookworm AS builder
|
||||
|
||||
RUN apt-get update && apt-get install -y pkg-config libssl-dev && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /app
|
||||
COPY Cargo.toml Cargo.lock rustfmt.toml ./
|
||||
COPY crates/ ./crates/
|
||||
|
||||
RUN cargo build --release --bin rampart-core && \
|
||||
cp target/release/rampart-core /app/rampart-core && \
|
||||
strip /app/rampart-core
|
||||
|
||||
FROM debian:bookworm-slim
|
||||
RUN apt-get update && apt-get install -y ca-certificates && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY --from=builder /app/rampart-core /usr/local/bin/rampart-core
|
||||
|
||||
EXPOSE 25565 9090
|
||||
|
||||
ENTRYPOINT ["rampart-core"]
|
||||
22
deploy/docker/Dockerfile.paper
Normal file
22
deploy/docker/Dockerfile.paper
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
FROM eclipse-temurin:21-jre-bookworm
|
||||
|
||||
ARG PAPER_VERSION=1.21.4
|
||||
ARG PAPER_BUILD=latest
|
||||
|
||||
RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Download Paper
|
||||
RUN curl -fsSLo /opt/paper.jar \
|
||||
"https://api.papermc.io/v2/projects/paper/versions/${PAPER_VERSION}/builds/${PAPER_BUILD}/downloads/paper-${PAPER_VERSION}-${PAPER_BUILD}.jar" || \
|
||||
echo "Falling back to direct download..." && \
|
||||
curl -fsSLo /opt/paper.jar \
|
||||
"https://papermc.io/api/v2/projects/paper/versions/${PAPER_VERSION}/builds/${PAPER_BUILD}/downloads/paper-${PAPER_VERSION}-${PAPER_BUILD}.jar"
|
||||
|
||||
COPY deploy/config/server.properties /opt/server.properties
|
||||
COPY deploy/config/paper-global.yml /opt/paper-global.yml
|
||||
COPY plugins/paper/build/libs/rampart-paper-*.jar /opt/plugins/
|
||||
|
||||
EXPOSE 25566
|
||||
|
||||
WORKDIR /opt
|
||||
CMD ["java", "-jar", "/opt/paper.jar", "--nogui"]
|
||||
20
deploy/docker/Dockerfile.velocity
Normal file
20
deploy/docker/Dockerfile.velocity
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
FROM eclipse-temurin:21-jre-bookworm
|
||||
|
||||
ARG VELOCITY_VERSION=3.4.0-SNAPSHOT
|
||||
ARG VELOCITY_BUILD=latest
|
||||
|
||||
RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Download Velocity
|
||||
RUN curl -fsSLo /opt/velocity.jar \
|
||||
"https://api.papermc.io/v2/projects/velocity/versions/${VELOCITY_VERSION}/builds/${VELOCITY_BUILD}/downloads/velocity-${VELOCITY_VERSION}-${VELOCITY_BUILD}.jar" || \
|
||||
curl -fsSLo /opt/velocity.jar \
|
||||
"https://versions.velocitypowered.com/download/${VELOCITY_VERSION}.jar"
|
||||
|
||||
COPY deploy/config/velocity.toml /opt/velocity.toml
|
||||
COPY plugins/velocity/build/libs/rampart-velocity-*.jar /opt/plugins/
|
||||
|
||||
EXPOSE 25577
|
||||
|
||||
WORKDIR /opt
|
||||
CMD ["java", "-jar", "/opt/velocity.jar", "/opt/velocity.toml"]
|
||||
Loading…
Add table
Add a link
Reference in a new issue