Compare commits
No commits in common. "main" and "main" have entirely different histories.
4
.gitignore
vendored
@ -1,5 +1 @@
|
|||||||
/data
|
/data
|
||||||
/squaremap/data
|
|
||||||
/squaremap/web
|
|
||||||
/squaremap/locale
|
|
||||||
.DS_Store
|
|
||||||
|
70
README.md
@ -1,72 +1,4 @@
|
|||||||
# NEW MC Server - Powered by Garde Studios
|
# NEW MC Server - Powered by Garde Studios
|
||||||
|
|
||||||
## Development
|
Testing WebHook
|
||||||
|
|
||||||
### (Prerequisite) Install Docker
|
|
||||||
|
|
||||||
Go to the Website [docker.com](https://www.docker.com/) and download the Docker Desktop Version for you're Operating System.
|
|
||||||
|
|
||||||
In case you're using Linux find a guide on the internet. For RHEL/Fedora/CentOS/Rocky Linux the setup process is as follows:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo dnf check-update # Update System
|
|
||||||
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # Add the docker repo to dnf
|
|
||||||
sudo dnf install docker-ce docker-ce-cli containerd.io -y # Install docker engine
|
|
||||||
sudo systemctl start docker # start docker deamon
|
|
||||||
sudo systemctl enable docker # enable docker deamon on startup
|
|
||||||
sudo usermod -aG docker $(whoami) # elevate user to use docker cmd
|
|
||||||
```
|
|
||||||
|
|
||||||
### Starting the Server
|
|
||||||
|
|
||||||
> [!WARNING]
|
|
||||||
> Make sure you first configure the `docker-compose.yml` under the `environment` section to use the appropiate ammount of RAM youre system can provide.
|
|
||||||
> 16GB isn't sensible in most development/testing environments
|
|
||||||
|
|
||||||
Start a Terminal or use Docker Desktop
|
|
||||||
|
|
||||||
> [!NOTE]
|
|
||||||
> The first Startup creates the whole infrastructure behind the project and can take up some time.
|
|
||||||
> Make sure you grab some 0xCOFFE :)
|
|
||||||
|
|
||||||
#### Using Docker CLI
|
|
||||||
|
|
||||||
cd into the repo.
|
|
||||||
|
|
||||||
Start the Server:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker compose up
|
|
||||||
```
|
|
||||||
|
|
||||||
To close it just use `ctrl+c`.
|
|
||||||
|
|
||||||
Deamon Mode:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker compose up -d
|
|
||||||
```
|
|
||||||
|
|
||||||
To hook into the servers logs use:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker logs <container-name>
|
|
||||||
```
|
|
||||||
|
|
||||||
Killing the server is done in two ways.
|
|
||||||
|
|
||||||
Either by killing it directly:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker kill <container-name>
|
|
||||||
```
|
|
||||||
|
|
||||||
Or by hooking against the compose file:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker compose down
|
|
||||||
```
|
|
||||||
|
|
||||||
## Architecture
|
|
||||||
|
|
||||||
![](assets/Architecture-Overview.png)
|
|
||||||
|
Before Width: | Height: | Size: 53 KiB |
@ -1,162 +0,0 @@
|
|||||||
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (X11; Linux x86_64; rv:132.0) Gecko/20100101 Firefox/132.0" version="24.7.12">
|
|
||||||
<diagram name="Page-1" id="ngFJ-PK3nhXtL8uodcvB">
|
|
||||||
<mxGraphModel dx="1394" dy="739" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
|
|
||||||
<root>
|
|
||||||
<mxCell id="0" />
|
|
||||||
<mxCell id="1" parent="0" />
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-43" value="" style="group" parent="1" vertex="1" connectable="0">
|
|
||||||
<mxGeometry x="30" y="150" width="660" height="225" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-8" value="" style="group" parent="rkxtWGMJMKr7dUVkmx0B-43" vertex="1" connectable="0">
|
|
||||||
<mxGeometry x="490" y="20" width="60" height="80" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-4" value="" style="sketch=0;aspect=fixed;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;fillColor=#00188D;shape=mxgraph.mscae.enterprise.application_server2" parent="rkxtWGMJMKr7dUVkmx0B-8" vertex="1">
|
|
||||||
<mxGeometry x="8.5" y="30" width="43" height="50" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-7" value="cloud.cyperpunk.de" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="rkxtWGMJMKr7dUVkmx0B-8" vertex="1">
|
|
||||||
<mxGeometry width="60" height="30" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-10" value="" style="group" parent="rkxtWGMJMKr7dUVkmx0B-43" vertex="1" connectable="0">
|
|
||||||
<mxGeometry x="230" y="145" width="60" height="80" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-6" value="" style="sketch=0;aspect=fixed;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;fillColor=#00188D;shape=mxgraph.mscae.enterprise.application_server2" parent="rkxtWGMJMKr7dUVkmx0B-10" vertex="1">
|
|
||||||
<mxGeometry x="8.5" y="30" width="43" height="50" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-9" value="garde-studios.de" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="rkxtWGMJMKr7dUVkmx0B-10" vertex="1">
|
|
||||||
<mxGeometry x="-20" width="100" height="30" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;shape=link;" parent="rkxtWGMJMKr7dUVkmx0B-43" source="rkxtWGMJMKr7dUVkmx0B-4" target="rkxtWGMJMKr7dUVkmx0B-2" edge="1">
|
|
||||||
<mxGeometry relative="1" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-21" value="Main Connection" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="rkxtWGMJMKr7dUVkmx0B-13" vertex="1" connectable="0">
|
|
||||||
<mxGeometry x="0.0358" y="1" relative="1" as="geometry">
|
|
||||||
<mxPoint x="-1" y="-30" as="offset" />
|
|
||||||
</mxGeometry>
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.57;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="rkxtWGMJMKr7dUVkmx0B-43" source="rkxtWGMJMKr7dUVkmx0B-6" target="rkxtWGMJMKr7dUVkmx0B-2" edge="1">
|
|
||||||
<mxGeometry relative="1" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-18" value="Authenticates User" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="rkxtWGMJMKr7dUVkmx0B-14" vertex="1" connectable="0">
|
|
||||||
<mxGeometry x="-0.155" relative="1" as="geometry">
|
|
||||||
<mxPoint x="17" as="offset" />
|
|
||||||
</mxGeometry>
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-16" value="" style="group" parent="rkxtWGMJMKr7dUVkmx0B-43" vertex="1" connectable="0">
|
|
||||||
<mxGeometry x="400" y="140" width="60" height="85" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-2" value="" style="sketch=0;aspect=fixed;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;fillColor=#00188D;shape=mxgraph.mscae.enterprise.gateway" parent="rkxtWGMJMKr7dUVkmx0B-16" vertex="1">
|
|
||||||
<mxGeometry x="5" y="35" width="50" height="50" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-15" value="Proxy" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="rkxtWGMJMKr7dUVkmx0B-16" vertex="1">
|
|
||||||
<mxGeometry width="60" height="30" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-22" value="" style="group" parent="rkxtWGMJMKr7dUVkmx0B-43" vertex="1" connectable="0">
|
|
||||||
<mxGeometry x="230" y="20" width="100" height="80" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-23" value="" style="sketch=0;aspect=fixed;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;fillColor=#00188D;shape=mxgraph.mscae.enterprise.application_server2" parent="rkxtWGMJMKr7dUVkmx0B-22" vertex="1">
|
|
||||||
<mxGeometry x="8.5" y="30" width="43" height="50" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-24" value="garde-studios<span style="background-color: initial;">.de</span>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="rkxtWGMJMKr7dUVkmx0B-22" vertex="1">
|
|
||||||
<mxGeometry x="-20" width="100" height="30" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.57;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;shape=link;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="rkxtWGMJMKr7dUVkmx0B-43" source="rkxtWGMJMKr7dUVkmx0B-23" target="rkxtWGMJMKr7dUVkmx0B-2" edge="1">
|
|
||||||
<mxGeometry relative="1" as="geometry">
|
|
||||||
<mxPoint x="430" y="120" as="targetPoint" />
|
|
||||||
<Array as="points">
|
|
||||||
<mxPoint x="430" y="75" />
|
|
||||||
</Array>
|
|
||||||
</mxGeometry>
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-26" value="Fallback to Limbo Server" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="rkxtWGMJMKr7dUVkmx0B-25" vertex="1" connectable="0">
|
|
||||||
<mxGeometry x="-0.1838" y="-1" relative="1" as="geometry">
|
|
||||||
<mxPoint x="-22" y="-1" as="offset" />
|
|
||||||
</mxGeometry>
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-41" value="" style="group" parent="rkxtWGMJMKr7dUVkmx0B-43" vertex="1" connectable="0">
|
|
||||||
<mxGeometry width="180" height="175" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-29" value="" style="group" parent="rkxtWGMJMKr7dUVkmx0B-41" vertex="1" connectable="0">
|
|
||||||
<mxGeometry width="60" height="64" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-27" value="" style="sketch=0;aspect=fixed;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;fillColor=#00188D;shape=mxgraph.mscae.enterprise.application" parent="rkxtWGMJMKr7dUVkmx0B-29" vertex="1">
|
|
||||||
<mxGeometry x="5" y="30" width="50" height="34" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-28" value="Grafana" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="rkxtWGMJMKr7dUVkmx0B-29" vertex="1">
|
|
||||||
<mxGeometry width="60" height="30" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-33" value="" style="group" parent="rkxtWGMJMKr7dUVkmx0B-41" vertex="1" connectable="0">
|
|
||||||
<mxGeometry x="120" width="60" height="64" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-34" value="" style="sketch=0;aspect=fixed;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;fillColor=#00188D;shape=mxgraph.mscae.enterprise.application" parent="rkxtWGMJMKr7dUVkmx0B-33" vertex="1">
|
|
||||||
<mxGeometry x="5" y="30" width="50" height="34" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-35" value="Squaremap" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="rkxtWGMJMKr7dUVkmx0B-33" vertex="1">
|
|
||||||
<mxGeometry width="60" height="30" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-36" value="" style="group" parent="rkxtWGMJMKr7dUVkmx0B-41" vertex="1" connectable="0">
|
|
||||||
<mxGeometry x="60" y="90" width="60" height="85" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-37" value="" style="sketch=0;aspect=fixed;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;fillColor=#00188D;shape=mxgraph.mscae.enterprise.gateway" parent="rkxtWGMJMKr7dUVkmx0B-36" vertex="1">
|
|
||||||
<mxGeometry x="5" y="35" width="50" height="50" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-38" value="NGINX" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="rkxtWGMJMKr7dUVkmx0B-36" vertex="1">
|
|
||||||
<mxGeometry width="60" height="30" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;" parent="rkxtWGMJMKr7dUVkmx0B-41" source="rkxtWGMJMKr7dUVkmx0B-37" target="rkxtWGMJMKr7dUVkmx0B-34" edge="1">
|
|
||||||
<mxGeometry relative="1" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;" parent="rkxtWGMJMKr7dUVkmx0B-41" source="rkxtWGMJMKr7dUVkmx0B-37" target="rkxtWGMJMKr7dUVkmx0B-27" edge="1">
|
|
||||||
<mxGeometry relative="1" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-42" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;" parent="rkxtWGMJMKr7dUVkmx0B-43" source="rkxtWGMJMKr7dUVkmx0B-6" target="rkxtWGMJMKr7dUVkmx0B-37" edge="1">
|
|
||||||
<mxGeometry relative="1" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-59" value="" style="group" parent="1" vertex="1" connectable="0">
|
|
||||||
<mxGeometry x="180" y="448" width="220" height="204" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-48" value="" style="group" parent="rkxtWGMJMKr7dUVkmx0B-59" vertex="1" connectable="0">
|
|
||||||
<mxGeometry y="130" width="60" height="74" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-44" value="" style="sketch=0;aspect=fixed;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;fillColor=#00188D;shape=mxgraph.mscae.enterprise.direct_access_feature" parent="rkxtWGMJMKr7dUVkmx0B-48" vertex="1">
|
|
||||||
<mxGeometry x="5" width="50" height="44" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-47" value="MC Client" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="rkxtWGMJMKr7dUVkmx0B-48" vertex="1">
|
|
||||||
<mxGeometry y="44" width="60" height="30" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-49" value="" style="group" parent="rkxtWGMJMKr7dUVkmx0B-59" vertex="1" connectable="0">
|
|
||||||
<mxGeometry x="80" y="130" width="60" height="74" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-50" value="" style="sketch=0;aspect=fixed;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;fillColor=#00188D;shape=mxgraph.mscae.enterprise.direct_access_feature" parent="rkxtWGMJMKr7dUVkmx0B-49" vertex="1">
|
|
||||||
<mxGeometry x="5" width="50" height="44" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-51" value="MC Client" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="rkxtWGMJMKr7dUVkmx0B-49" vertex="1">
|
|
||||||
<mxGeometry y="44" width="60" height="30" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-52" value="" style="group" parent="rkxtWGMJMKr7dUVkmx0B-59" vertex="1" connectable="0">
|
|
||||||
<mxGeometry x="160" y="130" width="60" height="74" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-53" value="" style="sketch=0;aspect=fixed;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;fillColor=#00188D;shape=mxgraph.mscae.enterprise.direct_access_feature" parent="rkxtWGMJMKr7dUVkmx0B-52" vertex="1">
|
|
||||||
<mxGeometry x="5" width="50" height="44" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-54" value="MC Client" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="rkxtWGMJMKr7dUVkmx0B-52" vertex="1">
|
|
||||||
<mxGeometry y="44" width="60" height="30" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-55" value="" style="sketch=0;aspect=fixed;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;fillColor=#00188D;shape=mxgraph.mscae.enterprise.internet" parent="rkxtWGMJMKr7dUVkmx0B-59" vertex="1">
|
|
||||||
<mxGeometry x="52.74000000000001" width="114.52" height="71" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-56" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.61;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;" parent="rkxtWGMJMKr7dUVkmx0B-59" source="rkxtWGMJMKr7dUVkmx0B-50" target="rkxtWGMJMKr7dUVkmx0B-55" edge="1">
|
|
||||||
<mxGeometry relative="1" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-57" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.61;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.14;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;" parent="rkxtWGMJMKr7dUVkmx0B-59" source="rkxtWGMJMKr7dUVkmx0B-44" target="rkxtWGMJMKr7dUVkmx0B-55" edge="1">
|
|
||||||
<mxGeometry relative="1" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-58" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.61;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.87;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;" parent="rkxtWGMJMKr7dUVkmx0B-59" source="rkxtWGMJMKr7dUVkmx0B-53" target="rkxtWGMJMKr7dUVkmx0B-55" edge="1">
|
|
||||||
<mxGeometry relative="1" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
<mxCell id="rkxtWGMJMKr7dUVkmx0B-60" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0.03;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;shape=link;" parent="1" source="rkxtWGMJMKr7dUVkmx0B-55" target="rkxtWGMJMKr7dUVkmx0B-6" edge="1">
|
|
||||||
<mxGeometry relative="1" as="geometry" />
|
|
||||||
</mxCell>
|
|
||||||
</root>
|
|
||||||
</mxGraphModel>
|
|
||||||
</diagram>
|
|
||||||
</mxfile>
|
|
@ -1,4 +1,4 @@
|
|||||||
hackOnlineMode = true
|
hackOnlineMode = true
|
||||||
hackEarlySend = false
|
hackEarlySend = false
|
||||||
hackMessageChain = true
|
hackMessageChain = true
|
||||||
secret = "bGAJSlLeA4Wf"
|
secret = "CMhgx3vF17Nu"
|
3
config/exporter.properties
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
server-port: 25585
|
||||||
|
update-interval: 1000
|
||||||
|
use-spark: true
|
@ -1,2 +0,0 @@
|
|||||||
include:
|
|
||||||
- ../main/compose.yml
|
|
@ -1,4 +0,0 @@
|
|||||||
include:
|
|
||||||
- ../proxy/velocity/compose.yml
|
|
||||||
- ../fallback/compose.yml
|
|
||||||
- ../monitoring/compose.yml
|
|
1
development/.gitignore
vendored
@ -1 +0,0 @@
|
|||||||
/dev-proxy/proxy-data
|
|
@ -1,39 +0,0 @@
|
|||||||
# Development Build
|
|
||||||
|
|
||||||
> [!NOTE]
|
|
||||||
> This setup is only for testing purposes.
|
|
||||||
> It is unsafe to use as a production build.
|
|
||||||
|
|
||||||
## Prerequisits
|
|
||||||
|
|
||||||
1. Check if `docker` & `docker compose` are installed correctly
|
|
||||||
2. Open 3 Terminal Windows (Or 2 depends on)
|
|
||||||
3. Change the ip in `velocity.toml` (Line 75 & 76) to your local ip (This gets reworked in the Future)
|
|
||||||
|
|
||||||
## To Do
|
|
||||||
- [ ] Build system for the whole dev stack
|
|
||||||
- [ ] Networking between Containers
|
|
||||||
|
|
||||||
## Handling the stack
|
|
||||||
|
|
||||||
1. Start Dev Proxy
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker compose -f dev-proxy/proxy-compose.yml up
|
|
||||||
```
|
|
||||||
|
|
||||||
2. Start Dev Fallback
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker compose -f fallback-compose.yml up
|
|
||||||
```
|
|
||||||
|
|
||||||
3. Start Dev Main
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker compose -f main-compose.yml up
|
|
||||||
```
|
|
||||||
|
|
||||||
4. Start Minecraft with Version 1.21.1 (Fabric highly preferred)
|
|
||||||
5. Add Server -> Server Address -> `localhost`
|
|
||||||
6. Connect
|
|
Before Width: | Height: | Size: 3.9 KiB |
@ -1,16 +0,0 @@
|
|||||||
services:
|
|
||||||
proxy:
|
|
||||||
container_name: dev_proxy
|
|
||||||
image: itzg/mc-proxy
|
|
||||||
environment:
|
|
||||||
TYPE: VELOCITY
|
|
||||||
DEBUG: true
|
|
||||||
VELOCITY_VERSION: latest
|
|
||||||
VELOCITY_BUILD_ID: 450
|
|
||||||
volumes:
|
|
||||||
- ./dev-server.png:/server/server-icon.png
|
|
||||||
- ./velocity.toml:/config/velocity.toml
|
|
||||||
- ../../proxy/velocity/forwarding.secret:/config/forwarding.secret:ro
|
|
||||||
- ./proxy-data:/server
|
|
||||||
ports:
|
|
||||||
- 25565:25565
|
|
@ -1,159 +0,0 @@
|
|||||||
# Config version. Do not change this
|
|
||||||
config-version = "2.7"
|
|
||||||
|
|
||||||
# What port should the proxy be bound to? By default, we'll bind to all addresses on port 25565.
|
|
||||||
bind = "0.0.0.0:25565"
|
|
||||||
|
|
||||||
# What should be the MOTD? This gets displayed when the player adds your server to
|
|
||||||
# their server list. Only MiniMessage format is accepted.
|
|
||||||
motd = "<dark_purple>Garde Studios</dark_purple> <red>DEVELOPMENT BUILD</red>"
|
|
||||||
|
|
||||||
# What should we display for the maximum number of players? (Velocity does not support a cap
|
|
||||||
# on the number of players online.)
|
|
||||||
show-max-players = 5
|
|
||||||
|
|
||||||
# Should we authenticate players with Mojang? By default, this is on.
|
|
||||||
online-mode = true
|
|
||||||
|
|
||||||
# Should the proxy enforce the new public key security standard? By default, this is on.
|
|
||||||
force-key-authentication = true
|
|
||||||
|
|
||||||
# If client's ISP/AS sent from this proxy is different from the one from Mojang's
|
|
||||||
# authentication server, the player is kicked. This disallows some VPN and proxy
|
|
||||||
# connections but is a weak form of protection.
|
|
||||||
prevent-client-proxy-connections = false
|
|
||||||
|
|
||||||
# Should we forward IP addresses and other data to backend servers?
|
|
||||||
# Available options:
|
|
||||||
# - "none": No forwarding will be done. All players will appear to be connecting
|
|
||||||
# from the proxy and will have offline-mode UUIDs.
|
|
||||||
# - "legacy": Forward player IPs and UUIDs in a BungeeCord-compatible format. Use this
|
|
||||||
# if you run servers using Minecraft 1.12 or lower.
|
|
||||||
# - "bungeeguard": Forward player IPs and UUIDs in a format supported by the BungeeGuard
|
|
||||||
# plugin. Use this if you run servers using Minecraft 1.12 or lower, and are
|
|
||||||
# unable to implement network level firewalling (on a shared host).
|
|
||||||
# - "modern": Forward player IPs and UUIDs as part of the login process using
|
|
||||||
# Velocity's native forwarding. Only applicable for Minecraft 1.13 or higher.
|
|
||||||
player-info-forwarding-mode = "modern"
|
|
||||||
|
|
||||||
# If you are using modern or BungeeGuard IP forwarding, configure a file that contains a unique secret here.
|
|
||||||
# The file is expected to be UTF-8 encoded and not empty.
|
|
||||||
forwarding-secret-file = "forwarding.secret"
|
|
||||||
|
|
||||||
# Announce whether or not your server supports Forge. If you run a modded server, we
|
|
||||||
# suggest turning this on.
|
|
||||||
#
|
|
||||||
# If your network runs one modpack consistently, consider using ping-passthrough = "mods"
|
|
||||||
# instead for a nicer display in the server list.
|
|
||||||
announce-forge = false
|
|
||||||
|
|
||||||
# If enabled (default is false) and the proxy is in online mode, Velocity will kick
|
|
||||||
# any existing player who is online if a duplicate connection attempt is made.
|
|
||||||
kick-existing-players = false
|
|
||||||
|
|
||||||
# Should Velocity pass server list ping requests to a backend server?
|
|
||||||
# Available options:
|
|
||||||
# - "disabled": No pass-through will be done. The velocity.toml and server-icon.png
|
|
||||||
# will determine the initial server list ping response.
|
|
||||||
# - "mods": Passes only the mod list from your backend server into the response.
|
|
||||||
# The first server in your try list (or forced host) with a mod list will be
|
|
||||||
# used. If no backend servers can be contacted, Velocity won't display any
|
|
||||||
# mod information.
|
|
||||||
# - "description": Uses the description and mod list from the backend server. The first
|
|
||||||
# server in the try (or forced host) list that responds is used for the
|
|
||||||
# description and mod list.
|
|
||||||
# - "all": Uses the backend server's response as the proxy response. The Velocity
|
|
||||||
# configuration is used if no servers could be contacted.
|
|
||||||
ping-passthrough = "DISABLED"
|
|
||||||
|
|
||||||
# If not enabled (default is true) player IP addresses will be replaced by <ip address withheld> in logs
|
|
||||||
enable-player-address-logging = true
|
|
||||||
|
|
||||||
[servers]
|
|
||||||
# Configure your servers here. Each key represents the server's name, and the value
|
|
||||||
# represents the IP address of the server to connect to.
|
|
||||||
main = "192.168.2.40:30000"
|
|
||||||
fallback = "192.168.2.40:30001"
|
|
||||||
|
|
||||||
|
|
||||||
# In what order we should try servers when a player logs in or is kicked from a server.
|
|
||||||
try = [
|
|
||||||
"main",
|
|
||||||
"fallback"
|
|
||||||
]
|
|
||||||
|
|
||||||
[forced-hosts]
|
|
||||||
# Configure your forced hosts here.
|
|
||||||
"cloud.cyperpunk.de" = [
|
|
||||||
"main"
|
|
||||||
]
|
|
||||||
|
|
||||||
"garde-studios.de" = [
|
|
||||||
"fallback"
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
[advanced]
|
|
||||||
# How large a Minecraft packet has to be before we compress it. Setting this to zero will
|
|
||||||
# compress all packets, and setting it to -1 will disable compression entirely.
|
|
||||||
compression-threshold = 256
|
|
||||||
|
|
||||||
# How much compression should be done (from 0-9). The default is -1, which uses the
|
|
||||||
# default level of 6.
|
|
||||||
compression-level = -1
|
|
||||||
|
|
||||||
# How fast (in milliseconds) are clients allowed to connect after the last connection? By
|
|
||||||
# default, this is three seconds. Disable this by setting this to 0.
|
|
||||||
login-ratelimit = 3000
|
|
||||||
|
|
||||||
# Specify a custom timeout for connection timeouts here. The default is five seconds.
|
|
||||||
connection-timeout = 5000
|
|
||||||
|
|
||||||
# Specify a read timeout for connections here. The default is 30 seconds.
|
|
||||||
read-timeout = 30000
|
|
||||||
|
|
||||||
# Enables compatibility with HAProxy's PROXY protocol. If you don't know what this is for, then
|
|
||||||
# don't enable it.
|
|
||||||
haproxy-protocol = false
|
|
||||||
|
|
||||||
# Enables TCP fast open support on the proxy. Requires the proxy to run on Linux.
|
|
||||||
tcp-fast-open = false
|
|
||||||
|
|
||||||
# Enables BungeeCord plugin messaging channel support on Velocity.
|
|
||||||
bungee-plugin-message-channel = true
|
|
||||||
|
|
||||||
# Shows ping requests to the proxy from clients.
|
|
||||||
show-ping-requests = false
|
|
||||||
|
|
||||||
# By default, Velocity will attempt to gracefully handle situations where the user unexpectedly
|
|
||||||
# loses connection to the server without an explicit disconnect message by attempting to fall the
|
|
||||||
# user back, except in the case of read timeouts. BungeeCord will disconnect the user instead. You
|
|
||||||
# can disable this setting to use the BungeeCord behavior.
|
|
||||||
failover-on-unexpected-server-disconnect = true
|
|
||||||
|
|
||||||
# Declares the proxy commands to 1.13+ clients.
|
|
||||||
announce-proxy-commands = true
|
|
||||||
|
|
||||||
# Enables the logging of commands
|
|
||||||
log-command-executions = true
|
|
||||||
|
|
||||||
# Enables logging of player connections when connecting to the proxy, switching servers
|
|
||||||
# and disconnecting from the proxy.
|
|
||||||
log-player-connections = true
|
|
||||||
|
|
||||||
# Allows players transferred from other hosts via the
|
|
||||||
# Transfer packet (Minecraft 1.20.5) to be received.
|
|
||||||
accepts-transfers = false
|
|
||||||
|
|
||||||
[query]
|
|
||||||
# Whether to enable responding to GameSpy 4 query responses or not.
|
|
||||||
enabled = true
|
|
||||||
|
|
||||||
# If query is enabled, on what port should the query protocol listen on?
|
|
||||||
port = 25565
|
|
||||||
|
|
||||||
# This is the map name that is reported to the query services.
|
|
||||||
map = "Mappie"
|
|
||||||
|
|
||||||
# Whether plugins should be shown in query response by default or not
|
|
||||||
show-plugins = false
|
|
@ -1,54 +0,0 @@
|
|||||||
services:
|
|
||||||
fallback:
|
|
||||||
image: itzg/minecraft-server
|
|
||||||
container_name: dev_fallback
|
|
||||||
restart: always
|
|
||||||
environment:
|
|
||||||
# What Server
|
|
||||||
EULA: "true"
|
|
||||||
TYPE: FABRIC
|
|
||||||
VERSION: 1.21.1
|
|
||||||
SERVER_NAME: uno
|
|
||||||
ONLINE_MODE: false
|
|
||||||
TZ: Europe/Berlin
|
|
||||||
|
|
||||||
# Server Properties
|
|
||||||
OVERRIDE_SERVER_PROPERTIES: true
|
|
||||||
ENABLE_COMMAND_BLOCK: true
|
|
||||||
GAMEMODE: creative
|
|
||||||
FORCE_GAMEMODE: false
|
|
||||||
|
|
||||||
# RCON Setup
|
|
||||||
RCON_PASSWORD: garde-studios
|
|
||||||
BROADCAST_CONSOLE_TO_OPS: true
|
|
||||||
BROADCAST_RCON_TO_OPS: true
|
|
||||||
|
|
||||||
# Setup
|
|
||||||
FORCE_REDOWNLOAD: true
|
|
||||||
#MEMORY: 2G
|
|
||||||
INIT_MEMORY: 500M
|
|
||||||
MAX_MEMORY: 1G
|
|
||||||
USE_AIKAR_FLAGS: true
|
|
||||||
|
|
||||||
# World & Mod Data
|
|
||||||
WORLD: https://file.cyperpunk.de/filebrowser/api/public/dl/4FDwjgd8/lobby.zip
|
|
||||||
#SEED: 795488740
|
|
||||||
MODS_FILE: /extras/mods.txt
|
|
||||||
# Whitelisting Players
|
|
||||||
WHITELIST_FILE: /extras/whitelist.json
|
|
||||||
OVERRIDE_WHITELIST: true
|
|
||||||
ENFORCE_WHITELIST: false
|
|
||||||
|
|
||||||
# Operator Setup
|
|
||||||
OPS_FILE: /extras/ops.json
|
|
||||||
SYNC_SKIP_NEWER_IN_DESTINATION: false
|
|
||||||
ports:
|
|
||||||
- 30001:25565 # Connection Port
|
|
||||||
- 9101:9100 # unified Exporter
|
|
||||||
volumes:
|
|
||||||
- ../fallback/data:/data
|
|
||||||
- ../fallback/mods.txt:/extras/mods.txt:ro
|
|
||||||
- ../fallback/ops.json:/extras/ops.json:ro
|
|
||||||
- ../fallback/whitelist.json:/extras/whitelist.json:ro
|
|
||||||
- ../fallback/config:/config
|
|
||||||
|
|
@ -1,54 +0,0 @@
|
|||||||
services:
|
|
||||||
dev_server:
|
|
||||||
image: itzg/minecraft-server
|
|
||||||
container_name: dev_server
|
|
||||||
restart: always
|
|
||||||
environment:
|
|
||||||
# What Server
|
|
||||||
EULA: "true"
|
|
||||||
TYPE: FABRIC
|
|
||||||
VERSION: 1.21.1
|
|
||||||
SERVER_NAME: dev
|
|
||||||
ONLINE_MODE: false
|
|
||||||
TZ: Europe/Berlin
|
|
||||||
|
|
||||||
# Server Properties
|
|
||||||
OVERRIDE_SERVER_PROPERTIES: true
|
|
||||||
ENABLE_COMMAND_BLOCK: true
|
|
||||||
GAMEMODE: creative
|
|
||||||
FORCE_GAMEMODE: false
|
|
||||||
LEVEL_TYPE: minecraft:large_biomes
|
|
||||||
|
|
||||||
# RCON Setup
|
|
||||||
RCON_PASSWORD: garde-studios
|
|
||||||
BROADCAST_CONSOLE_TO_OPS: true
|
|
||||||
BROADCAST_RCON_TO_OPS: true
|
|
||||||
|
|
||||||
# Setup
|
|
||||||
FORCE_REDOWNLOAD: true
|
|
||||||
INIT_MEMORY: 500M
|
|
||||||
MAX_MEMORY: 1G
|
|
||||||
USE_AIKAR_FLAGS: true
|
|
||||||
|
|
||||||
# World & Mod Data
|
|
||||||
#WORLD:
|
|
||||||
SEED: -2202949464251781243
|
|
||||||
MODS_FILE: /extras/mods.txt
|
|
||||||
# Whitelisting Players
|
|
||||||
WHITELIST_FILE: https://git.cyperpunk.de/Garde-Studios/Uno-MC/raw/branch/main/whitelist.json
|
|
||||||
OVERRIDE_WHITELIST: true
|
|
||||||
ENFORCE_WHITELIST: false
|
|
||||||
|
|
||||||
# Operator Setup
|
|
||||||
OPS_FILE: https://git.cyperpunk.de/Garde-Studios/Uno-MC/raw/branch/main/ops.json
|
|
||||||
SYNC_SKIP_NEWER_IN_DESTINATION: false
|
|
||||||
ports:
|
|
||||||
- 30000:25565 # Connection Port
|
|
||||||
- 31066:25575 # Rcon
|
|
||||||
- 8090:8080 # Squaremap
|
|
||||||
- 9100:9100 # unified Exporter
|
|
||||||
volumes:
|
|
||||||
- ../main/data:/data
|
|
||||||
- ../main/squaremap:/data/squaremap
|
|
||||||
- ../main/mods.txt:/extras/mods.txt:ro
|
|
||||||
- ../main/config:/config
|
|
@ -1,14 +1,14 @@
|
|||||||
services:
|
services:
|
||||||
server:
|
server:
|
||||||
image: itzg/minecraft-server
|
image: itzg/minecraft-server
|
||||||
container_name: mc-server
|
container_name: new
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
# What Server
|
# What Server
|
||||||
EULA: "true"
|
EULA: "true"
|
||||||
TYPE: FABRIC
|
TYPE: FABRIC
|
||||||
VERSION: 1.21.1
|
VERSION: 1.21.1
|
||||||
SERVER_NAME: utopia
|
SERVER_NAME: uno
|
||||||
ONLINE_MODE: false
|
ONLINE_MODE: false
|
||||||
TZ: Europe/Berlin
|
TZ: Europe/Berlin
|
||||||
|
|
||||||
@ -32,8 +32,7 @@ services:
|
|||||||
USE_AIKAR_FLAGS: true
|
USE_AIKAR_FLAGS: true
|
||||||
|
|
||||||
# World & Mod Data
|
# World & Mod Data
|
||||||
#WORLD:
|
#WORLD: https://file.cyperpunk.de/filebrowser/api/public/dl/4FDwjgd8
|
||||||
SEED: -2202949464251781243
|
|
||||||
MODS_FILE: /extras/mods.txt
|
MODS_FILE: /extras/mods.txt
|
||||||
# Whitelisting Players
|
# Whitelisting Players
|
||||||
WHITELIST_FILE: https://git.cyperpunk.de/Garde-Studios/Uno-MC/raw/branch/main/whitelist.json
|
WHITELIST_FILE: https://git.cyperpunk.de/Garde-Studios/Uno-MC/raw/branch/main/whitelist.json
|
||||||
@ -44,13 +43,12 @@ services:
|
|||||||
OPS_FILE: https://git.cyperpunk.de/Garde-Studios/Uno-MC/raw/branch/main/ops.json
|
OPS_FILE: https://git.cyperpunk.de/Garde-Studios/Uno-MC/raw/branch/main/ops.json
|
||||||
SYNC_SKIP_NEWER_IN_DESTINATION: false
|
SYNC_SKIP_NEWER_IN_DESTINATION: false
|
||||||
ports:
|
ports:
|
||||||
- 30000:25565 # Connection Port
|
- 30066:25565 # Connection Port
|
||||||
- 31066:25575 # Rcon
|
- 31066:25575 # Rcon
|
||||||
- 8090:8080 # Squaremap
|
- 8080:8080 # Squaremap
|
||||||
- 9100:9100 # unified Exporter
|
- 9001:25585 # Fabric Exporter
|
||||||
volumes:
|
volumes:
|
||||||
- ./data:/data
|
- ./data:/data
|
||||||
- ./squaremap:/data/squaremap
|
|
||||||
- ./mods.txt:/extras/mods.txt:ro
|
- ./mods.txt:/extras/mods.txt:ro
|
||||||
- ./config:/config
|
- ./config:/config
|
||||||
|
|
1
fallback/.gitignore
vendored
@ -1 +0,0 @@
|
|||||||
/data
|
|
@ -1,55 +0,0 @@
|
|||||||
services:
|
|
||||||
server:
|
|
||||||
image: itzg/minecraft-server
|
|
||||||
container_name: fallback
|
|
||||||
restart: always
|
|
||||||
environment:
|
|
||||||
# What Server
|
|
||||||
EULA: "true"
|
|
||||||
TYPE: FABRIC
|
|
||||||
VERSION: 1.21.1
|
|
||||||
SERVER_NAME: uno
|
|
||||||
ONLINE_MODE: false
|
|
||||||
TZ: Europe/Berlin
|
|
||||||
|
|
||||||
# Server Properties
|
|
||||||
OVERRIDE_SERVER_PROPERTIES: true
|
|
||||||
ENABLE_COMMAND_BLOCK: true
|
|
||||||
GAMEMODE: adventure
|
|
||||||
FORCE_GAMEMODE: true
|
|
||||||
|
|
||||||
# RCON Setup
|
|
||||||
RCON_PASSWORD: garde-studios
|
|
||||||
BROADCAST_CONSOLE_TO_OPS: false
|
|
||||||
BROADCAST_RCON_TO_OPS: true
|
|
||||||
|
|
||||||
# Setup
|
|
||||||
FORCE_REDOWNLOAD: true
|
|
||||||
#MEMORY: 2G
|
|
||||||
INIT_MEMORY: 2G
|
|
||||||
MAX_MEMORY: 4G
|
|
||||||
USE_AIKAR_FLAGS: true
|
|
||||||
|
|
||||||
# World & Mod Data
|
|
||||||
WORLD: https://file.cyperpunk.de/filebrowser/api/public/dl/4FDwjgd8/lobby.zip
|
|
||||||
#SEED: 795488740
|
|
||||||
MODS_FILE: /extras/mods.txt
|
|
||||||
# Whitelisting Players
|
|
||||||
WHITELIST_FILE: /extras/whitelist.json
|
|
||||||
OVERRIDE_WHITELIST: true
|
|
||||||
ENFORCE_WHITELIST: false
|
|
||||||
|
|
||||||
# Operator Setup
|
|
||||||
OPS_FILE: /extras/ops.json
|
|
||||||
SYNC_SKIP_NEWER_IN_DESTINATION: false
|
|
||||||
ports:
|
|
||||||
- 30000:25565 # Connection Port
|
|
||||||
- 9100:9100 # unified Exporter
|
|
||||||
volumes:
|
|
||||||
- ./data:/data
|
|
||||||
- ./mods.txt:/extras/mods.txt:ro
|
|
||||||
- ./ops.json:/extras/ops.json:ro
|
|
||||||
- ./whitelist.json:/extras/whitelist.json:ro
|
|
||||||
- ./config:/config
|
|
||||||
|
|
||||||
networks: {}
|
|
@ -1,14 +0,0 @@
|
|||||||
server:
|
|
||||||
name: "global"
|
|
||||||
metrics:
|
|
||||||
enabled: true
|
|
||||||
driver: "prometheus"
|
|
||||||
collectors:
|
|
||||||
systemGc: true
|
|
||||||
systemMemory: true
|
|
||||||
systemProcess: true
|
|
||||||
systemThread: true
|
|
||||||
server: true
|
|
||||||
world: true
|
|
||||||
tick: true
|
|
||||||
events: true
|
|
@ -1,16 +0,0 @@
|
|||||||
mode: "HTTP"
|
|
||||||
http:
|
|
||||||
host: "0.0.0.0"
|
|
||||||
port: 9100
|
|
||||||
authentication:
|
|
||||||
scheme: "NONE"
|
|
||||||
username: "username"
|
|
||||||
password: "password"
|
|
||||||
pushGateway:
|
|
||||||
job: "unifiedmetrics"
|
|
||||||
url: "http://pushgateway:9091"
|
|
||||||
authentication:
|
|
||||||
scheme: "NONE"
|
|
||||||
username: "username"
|
|
||||||
password: "password"
|
|
||||||
interval: 10
|
|
@ -1,18 +0,0 @@
|
|||||||
# Fabric API
|
|
||||||
https://cdn.modrinth.com/data/P7dR8mSH/versions/thGkUOxt/fabric-api-0.107.0%2B1.21.1.jar
|
|
||||||
|
|
||||||
# Performance
|
|
||||||
https://cdn.modrinth.com/data/gvQqBUqZ/versions/5szYtenV/lithium-fabric-mc1.21.1-0.13.0.jar
|
|
||||||
https://cdn.modrinth.com/data/fALzjamp/versions/dPliWter/Chunky-1.4.16.jar
|
|
||||||
https://cdn.modrinth.com/data/s86X568j/versions/uT1cdd3k/ChunkyBorder-1.2.18.jar
|
|
||||||
https://cdn.modrinth.com/data/LFJf0Klb/versions/7e8Rxgsk/ce-2.1.1.jar
|
|
||||||
|
|
||||||
# Proxy
|
|
||||||
https://cdn.modrinth.com/data/8dI2tmqs/versions/AQhF7kvw/FabricProxy-Lite-2.9.0.jar
|
|
||||||
|
|
||||||
# Monitoring
|
|
||||||
https://cdn.modrinth.com/data/p1ewR5kV/versions/xwRVtqbA/unifiedmetrics-platform-fabric-0.3.8.jar
|
|
||||||
https://cdn.modrinth.com/data/Ha28R6CL/versions/B0fZidZi/fabric-language-kotlin-1.12.3%2Bkotlin.2.0.21.jar
|
|
||||||
|
|
||||||
# World Edit
|
|
||||||
https://cdn.modrinth.com/data/1u6JkXh5/versions/vBzkrSYP/worldedit-mod-7.3.6.jar
|
|
5
main/.gitignore
vendored
@ -1,5 +0,0 @@
|
|||||||
/data
|
|
||||||
/squaremap/data/
|
|
||||||
/squaremap/locale/
|
|
||||||
/squaremap/web/tiles/
|
|
||||||
/squaremap/web/images/
|
|
@ -1,4 +0,0 @@
|
|||||||
hackOnlineMode = true
|
|
||||||
hackEarlySend = false
|
|
||||||
hackMessageChain = true
|
|
||||||
secret = "bGAJSlLeA4Wf"
|
|
@ -1,71 +0,0 @@
|
|||||||
{
|
|
||||||
"aspen_glade_enabled": true,
|
|
||||||
"auroral_garden_enabled": true,
|
|
||||||
"bayou_enabled": true,
|
|
||||||
"bog_enabled": true,
|
|
||||||
"cold_desert_enabled": true,
|
|
||||||
"coniferous_forest_enabled": true,
|
|
||||||
"crag_enabled": true,
|
|
||||||
"crystalline_chasm_enabled": true,
|
|
||||||
"dead_forest_enabled": true,
|
|
||||||
"dryland_enabled": true,
|
|
||||||
"dune_beach_enabled": true,
|
|
||||||
"end_corruption_enabled": true,
|
|
||||||
"end_reef_enabled": true,
|
|
||||||
"end_wilds_enabled": true,
|
|
||||||
"erupting_inferno_enabled": true,
|
|
||||||
"field_enabled": true,
|
|
||||||
"fir_clearing_enabled": true,
|
|
||||||
"floodplain_enabled": true,
|
|
||||||
"forested_field_enabled": true,
|
|
||||||
"fungal_jungle_enabled": true,
|
|
||||||
"glowing_grotto_enabled": true,
|
|
||||||
"grassland_enabled": true,
|
|
||||||
"gravel_beach_enabled": true,
|
|
||||||
"highland_enabled": true,
|
|
||||||
"hot_springs_enabled": true,
|
|
||||||
"jacaranda_glade_enabled": true,
|
|
||||||
"jade_cliffs_enabled": true,
|
|
||||||
"lavender_field_enabled": true,
|
|
||||||
"lush_desert_enabled": true,
|
|
||||||
"lush_savanna_enabled": true,
|
|
||||||
"maple_woods_enabled": true,
|
|
||||||
"marsh_enabled": true,
|
|
||||||
"mediterranean_forest_enabled": true,
|
|
||||||
"moor_enabled": true,
|
|
||||||
"muskeg_enabled": true,
|
|
||||||
"mystic_grove_enabled": true,
|
|
||||||
"old_growth_dead_forest_enabled": true,
|
|
||||||
"old_growth_woodland_enabled": true,
|
|
||||||
"ominous_woods_enabled": true,
|
|
||||||
"orchard_enabled": true,
|
|
||||||
"origin_valley_enabled": true,
|
|
||||||
"overgrown_greens_enabled": true,
|
|
||||||
"pasture_enabled": true,
|
|
||||||
"prairie_enabled": true,
|
|
||||||
"pumpkin_patch_enabled": true,
|
|
||||||
"rainforest_enabled": true,
|
|
||||||
"redwood_forest_enabled": true,
|
|
||||||
"rocky_rainforest_enabled": true,
|
|
||||||
"rocky_shrubland_enabled": true,
|
|
||||||
"scrubland_enabled": true,
|
|
||||||
"seasonal_forest_enabled": true,
|
|
||||||
"shrubland_enabled": true,
|
|
||||||
"snowblossom_grove_enabled": true,
|
|
||||||
"snowy_coniferous_forest_enabled": true,
|
|
||||||
"snowy_fir_clearing_enabled": true,
|
|
||||||
"snowy_maple_woods_enabled": true,
|
|
||||||
"spider_nest_enabled": true,
|
|
||||||
"tropics_enabled": true,
|
|
||||||
"tundra_enabled": true,
|
|
||||||
"undergrowth_enabled": true,
|
|
||||||
"visceral_heap_enabled": true,
|
|
||||||
"volcanic_plains_enabled": true,
|
|
||||||
"volcano_enabled": true,
|
|
||||||
"wasteland_enabled": true,
|
|
||||||
"wasteland_steppe_enabled": true,
|
|
||||||
"wetland_enabled": true,
|
|
||||||
"wintry_origin_valley_enabled": true,
|
|
||||||
"withered_abyss_enabled": true,
|
|
||||||
"woodland_enabled": true
|
|
||||||
}
|
|
@ -1,3 +0,0 @@
|
|||||||
[general]
|
|
||||||
#Add various BOP resources to the Wandering Trader trade pool.
|
|
||||||
wandering_trader_trades = true
|
|
@ -1,13 +0,0 @@
|
|||||||
[nether]
|
|
||||||
#The weighting of bop biome regions in the nether.
|
|
||||||
bop_nether_region_weight = 13
|
|
||||||
#The weighting of rare bop biome regions in the nether.
|
|
||||||
bop_nether_rare_region_weight = 2
|
|
||||||
|
|
||||||
[overworld]
|
|
||||||
#The weighting of primary bop biome regions in the overworld.
|
|
||||||
bop_primary_overworld_region_weight = 10
|
|
||||||
#The weighting of rare bop biome regions in the overworld.
|
|
||||||
bop_overworld_rare_region_weight = 2
|
|
||||||
#The weighting of secondary bop biome regions in the overworld.
|
|
||||||
bop_secondary_overworld_region_weight = 8
|
|
@ -1,48 +0,0 @@
|
|||||||
{
|
|
||||||
"trees": {
|
|
||||||
"allowedLogs": [],
|
|
||||||
"deniedLogs": [],
|
|
||||||
"allowedLeaves": [],
|
|
||||||
"allowedNonDecayLeaves": [],
|
|
||||||
"deniedLeaves": [],
|
|
||||||
"breakMode": "FALL_ITEM",
|
|
||||||
"detectionMode": "ABOVE_CUT",
|
|
||||||
"maxScanSize": 300,
|
|
||||||
"maxSize": 100,
|
|
||||||
"maxLeafDistanceFromLog": 12,
|
|
||||||
"maxSizeAction": "ABORT",
|
|
||||||
"breakOrder": "LOWEST_FIRST",
|
|
||||||
"minimumLeavesAroundRequired": 2,
|
|
||||||
"includePersistentLeavesInRequiredCount": false,
|
|
||||||
"treeBreaking": true,
|
|
||||||
"leavesBreaking": true,
|
|
||||||
"leavesBreakingForceRadius": 0,
|
|
||||||
"allowMixedLogs": false,
|
|
||||||
"breakNetherTreeWarts": true,
|
|
||||||
"breakMangroveRoots": false,
|
|
||||||
"searchAreaRadius": -1,
|
|
||||||
"allowedAdjacentBlocks": [],
|
|
||||||
"adjacentStopMode": "STOP_ALL",
|
|
||||||
"spawnItemsAtBreakPoint": true
|
|
||||||
},
|
|
||||||
"tools": {
|
|
||||||
"allowed": [],
|
|
||||||
"denied": [],
|
|
||||||
"durabilityMode": "NORMAL",
|
|
||||||
"ignoreTools": false,
|
|
||||||
"damageMultiplicand": 1.0,
|
|
||||||
"damageRounding": "ROUND_DOWN",
|
|
||||||
"speedMultiplicand": 0.5,
|
|
||||||
"forceToolUsage": false
|
|
||||||
},
|
|
||||||
"player": {
|
|
||||||
"allowedTags": []
|
|
||||||
},
|
|
||||||
"enchantment": {
|
|
||||||
"requireEnchantment": false
|
|
||||||
},
|
|
||||||
"sneakMode": "SNEAK_DISABLE",
|
|
||||||
"breakInCreative": false,
|
|
||||||
"lootInCreative": false,
|
|
||||||
"notificationMode": "ACTION_BAR"
|
|
||||||
}
|
|
@ -1,55 +0,0 @@
|
|||||||
{
|
|
||||||
"checkForNewUpdates": false,
|
|
||||||
"enableCopperGolem": true,
|
|
||||||
"generateCopperGolemAreaStructure": true,
|
|
||||||
"copperGolemAreaStructureWeight": 1,
|
|
||||||
"generateCopperGolemInAncientCity": true,
|
|
||||||
"copperGolemAncientCityCenterWeight": 10,
|
|
||||||
"enableCrab": true,
|
|
||||||
"enableCrabSpawn": true,
|
|
||||||
"crabSpawnWeight": 14,
|
|
||||||
"crabSpawnMinGroupSize": 2,
|
|
||||||
"crabSpawnMaxGroupSize": 4,
|
|
||||||
"reachingStatusEffectModifier": 1,
|
|
||||||
"enableGlare": true,
|
|
||||||
"enableGlareSpawn": true,
|
|
||||||
"enableGlareGriefing": true,
|
|
||||||
"glareSpawnWeight": 4,
|
|
||||||
"glareSpawnMinGroupSize": 1,
|
|
||||||
"glareSpawnMaxGroupSize": 1,
|
|
||||||
"enableMauler": true,
|
|
||||||
"enableMaulerSpawn": true,
|
|
||||||
"maulerDesertSpawnWeight": 8,
|
|
||||||
"maulerDesertSpawnMinGroupSize": 1,
|
|
||||||
"maulerDesertSpawnMaxGroupSize": 1,
|
|
||||||
"maulerBadlandsSpawnWeight": 16,
|
|
||||||
"maulerBadlandsSpawnMinGroupSize": 1,
|
|
||||||
"maulerBadlandsSpawnMaxGroupSize": 1,
|
|
||||||
"maulerSavannaSpawnWeight": 32,
|
|
||||||
"maulerSavannaSpawnMinGroupSize": 1,
|
|
||||||
"maulerSavannaSpawnMaxGroupSize": 1,
|
|
||||||
"enableMoobloom": true,
|
|
||||||
"enableMoobloomSpawn": true,
|
|
||||||
"moobloomSpawnWeight": 4,
|
|
||||||
"moobloomSpawnMinGroupSize": 2,
|
|
||||||
"moobloomSpawnMaxGroupSize": 4,
|
|
||||||
"enableIceologer": true,
|
|
||||||
"enableIceologerSpawn": true,
|
|
||||||
"enableIceologerInRaids": true,
|
|
||||||
"generateIceologerCabinStructure": true,
|
|
||||||
"enableIllusioner": true,
|
|
||||||
"enableIllusionerSpawn": true,
|
|
||||||
"enableIllusionerInRaids": true,
|
|
||||||
"generateIllusionerShackStructure": true,
|
|
||||||
"generateIllusionerTrainingGroundsStructure": true,
|
|
||||||
"enableZombieHorseTrap": true,
|
|
||||||
"enableRascal": true,
|
|
||||||
"enableRascalSpawn": true,
|
|
||||||
"enableTuffGolem": true,
|
|
||||||
"generateTuffGolemInStronghold": true,
|
|
||||||
"enableWildfire": true,
|
|
||||||
"generateCitadelStructure": true,
|
|
||||||
"enableBeekeeperVillagerProfession": true,
|
|
||||||
"generateBeekeeperAreaStructure": true,
|
|
||||||
"beekeeperAreaStructureWeight": 2
|
|
||||||
}
|
|
@ -1,91 +0,0 @@
|
|||||||
{
|
|
||||||
"clientConfig": {
|
|
||||||
"frostOverlayStart": 0.5,
|
|
||||||
"doColdHeartOverlay": true,
|
|
||||||
"renderDripParticles": true,
|
|
||||||
"disableFrostOverlayWhenWearingFrostologyCloak": true,
|
|
||||||
"shakeHandWhenShivering": true,
|
|
||||||
"handShakeIntensity": 1.0
|
|
||||||
},
|
|
||||||
"updateConfig": {
|
|
||||||
"currentConfigVersion": 2,
|
|
||||||
"enableConfigUpdates": true
|
|
||||||
},
|
|
||||||
"environmentConfig": {
|
|
||||||
"doDryBiomeNightFreezing": true,
|
|
||||||
"nightTemperatureShift": -1,
|
|
||||||
"coldBiomeTemperatureChange": -1,
|
|
||||||
"freezingBiomeTemperatureChange": -3,
|
|
||||||
"rainWetnessIncrease": 1,
|
|
||||||
"touchingWaterWetnessIncrease": 5,
|
|
||||||
"dryRate": 1,
|
|
||||||
"onFireDryDate": 50,
|
|
||||||
"onFireWarmRate": 50,
|
|
||||||
"powderSnowFreezeRate": 30,
|
|
||||||
"warmthPerLightLevel": 2,
|
|
||||||
"minLightForWarmth": 5,
|
|
||||||
"ultrawarmWarmRate": 15,
|
|
||||||
"enableSeasonsIntegration": true
|
|
||||||
},
|
|
||||||
"combatConfig": {
|
|
||||||
"doChillagerPatrols": true,
|
|
||||||
"straysCarryFrostArrows": true,
|
|
||||||
"maxFrostSpellDistance": 25.0,
|
|
||||||
"frostWandCooldown": 120,
|
|
||||||
"frostWandRootTime": 100,
|
|
||||||
"frostologerHeatDrainPerTick": 30,
|
|
||||||
"packedSnowballFreezeAmount": 500,
|
|
||||||
"packedSnowballDamage": 2.0,
|
|
||||||
"packedSnowballVulnerableTypesDamage": 5.0,
|
|
||||||
"frostologerPassiveFreezingPerTick": 2,
|
|
||||||
"frostologerMaxPassiveFreezing": 0.5,
|
|
||||||
"biterFrostBiteMaxAmplifier": 2,
|
|
||||||
"chillagerFireDamageMultiplier": 1.5,
|
|
||||||
"frostologerIntolerableHeat": 9,
|
|
||||||
"furUpgradeTemplateGenerateChance": 0.5,
|
|
||||||
"skateUpgradeTemplateGenerateChance": 0.33,
|
|
||||||
"veryProtectiveFrostResistanceMultiplier": 1.0,
|
|
||||||
"protectiveFrostResistanceMultiplier": 0.5
|
|
||||||
},
|
|
||||||
"freezingConfig": {
|
|
||||||
"doPassiveFreezing": true,
|
|
||||||
"doWindSpawning": true,
|
|
||||||
"windSpawnStrategy": "POINT",
|
|
||||||
"spawnWindInAir": true,
|
|
||||||
"windDestroysTorches": true,
|
|
||||||
"doSnowPacking": true,
|
|
||||||
"passiveFreezingTickInterval": 1,
|
|
||||||
"windSpawnCapPerSecond": 15,
|
|
||||||
"windSpawnRarity": 750,
|
|
||||||
"windSpawnRarityThunder": 500,
|
|
||||||
"maxPassiveFreezingPercent": 1.0,
|
|
||||||
"passiveFreezingWetnessScaleMultiplier": 2.1,
|
|
||||||
"soakPercentFromWaterPotion": 0.5,
|
|
||||||
"sunLichenHeatPerLevel": 500,
|
|
||||||
"sunLichenBurnTime": 60,
|
|
||||||
"campfireWarmthSearchRadius": 10.0,
|
|
||||||
"campfireWarmthTime": 1200,
|
|
||||||
"freezingWindFrost": 160,
|
|
||||||
"conduitPowerWarmthPerTick": 12,
|
|
||||||
"heatFromHotFloor": 12,
|
|
||||||
"shiverBelow": -0.51,
|
|
||||||
"shiverWarmth": 1,
|
|
||||||
"stopShiverWarmingBelowFoodLevel": 10,
|
|
||||||
"warmFoodWarmthTime": 1200
|
|
||||||
},
|
|
||||||
"icicleConfig": {
|
|
||||||
"iciclesFormInWeather": true,
|
|
||||||
"becomeUnstableChance": 0.05,
|
|
||||||
"growChance": 0.02,
|
|
||||||
"growChanceDuringRain": 0.09,
|
|
||||||
"growChanceDuringThunder": 0.15,
|
|
||||||
"frostArrowFreezeAmount": 1000,
|
|
||||||
"thrownIcicleFreezeAmount": 1500,
|
|
||||||
"icicleCollisionFreezeAmount": 3000,
|
|
||||||
"maxLightLevelToForm": 8,
|
|
||||||
"minSkylightLevelToForm": 11,
|
|
||||||
"thrownIcicleDamage": 1.0,
|
|
||||||
"thrownIcicleExtraDamage": 3.0,
|
|
||||||
"thrownIcicleCooldown": 10
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
server:
|
|
||||||
name: "global"
|
|
||||||
metrics:
|
|
||||||
enabled: true
|
|
||||||
driver: "prometheus"
|
|
||||||
collectors:
|
|
||||||
systemGc: true
|
|
||||||
systemMemory: true
|
|
||||||
systemProcess: true
|
|
||||||
systemThread: true
|
|
||||||
server: true
|
|
||||||
world: true
|
|
||||||
tick: true
|
|
||||||
events: true
|
|
@ -1,16 +0,0 @@
|
|||||||
mode: "HTTP"
|
|
||||||
http:
|
|
||||||
host: "0.0.0.0"
|
|
||||||
port: 9100
|
|
||||||
authentication:
|
|
||||||
scheme: "NONE"
|
|
||||||
username: "username"
|
|
||||||
password: "password"
|
|
||||||
pushGateway:
|
|
||||||
job: "unifiedmetrics"
|
|
||||||
url: "http://pushgateway:9091"
|
|
||||||
authentication:
|
|
||||||
scheme: "NONE"
|
|
||||||
username: "username"
|
|
||||||
password: "password"
|
|
||||||
interval: 10
|
|
@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
// Use the custom name list, editable in ./mods/villagernames/customnames.txt, seperated by a comma. If custom names are found, the default name list is ignored.
|
|
||||||
"useCustomNames": true,
|
|
||||||
// Use the list of pre-defined female names when naming villagers.
|
|
||||||
"useDefaultFemaleNames": true,
|
|
||||||
// Use the list of pre-defined male names when naming villagers.
|
|
||||||
"useDefaultMaleNames": true,
|
|
||||||
// Disabled by default. Whether both custom and default names should be used to name villagers. Custom names will probably not be chosen often due to the amount of default names.
|
|
||||||
"useBothCustomAndDefaultNames": true,
|
|
||||||
// If enabled, also gives modded villagers a name. If you've found a 'villager'-entity that isn't named let me know by opening an issue so I can add it in.
|
|
||||||
"nameModdedVillagers": true,
|
|
||||||
// Whether the profession should be added to the villager's trade screen next to their name.
|
|
||||||
"showProfessionOnTradeScreen": true,
|
|
||||||
// If enabled, switches the name and profession on the villager trading screen. Result: <profession> - <name>.
|
|
||||||
"switchNameAndProfessionTradeScreen": true,
|
|
||||||
// Whether the merchant level (novice, apprentice etc.) should be hidden on the trade screen.
|
|
||||||
"hideMerchantLevelTradeScreen": false,
|
|
||||||
// If enabled, the mod capitalizes each word in the custom name list.
|
|
||||||
"shouldCapitalizeNames": true
|
|
||||||
}
|
|
@ -1,32 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"uuid": "61ec0d1b-0dc2-45bd-930e-ab45bcaa4386",
|
|
||||||
"name": "Athro_Hiro",
|
|
||||||
"level": 4,
|
|
||||||
"bypassesPlayerLimit": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"uuid": "d3dd297f-0c08-45a0-8260-f1ac46af490a",
|
|
||||||
"name": "Der_Grumpf",
|
|
||||||
"level": 4,
|
|
||||||
"bypassesPlayerLimit": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"uuid": "2f1de2e1-9fe8-457c-9a99-26c611fc6b64",
|
|
||||||
"name": "mlgChaostom44",
|
|
||||||
"level": 4,
|
|
||||||
"bypassesPlayerLimit": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"uuid": "f42bbaa6-b2e7-4573-8092-13fbddf2544d",
|
|
||||||
"name": "Deltayquaza",
|
|
||||||
"level": 4,
|
|
||||||
"bypassesPlayerLimit": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"uuid": "c76e4802-7f01-47cb-bc1b-16cadd736078",
|
|
||||||
"name": "Weizenkumpel",
|
|
||||||
"level": 4,
|
|
||||||
"bypassesPlayerLimit": false
|
|
||||||
}
|
|
||||||
]
|
|
@ -1,59 +0,0 @@
|
|||||||
config-version: 3
|
|
||||||
world-settings:
|
|
||||||
default:
|
|
||||||
invisible-blocks:
|
|
||||||
- minecraft:tall_grass
|
|
||||||
- minecraft:fern
|
|
||||||
- minecraft:short_grass
|
|
||||||
- minecraft:large_fern
|
|
||||||
iterate-up-base-blocks:
|
|
||||||
- minecraft:netherrack
|
|
||||||
- minecraft:glowstone
|
|
||||||
- minecraft:soul_sand
|
|
||||||
- minecraft:soul_soil
|
|
||||||
- minecraft:gravel
|
|
||||||
- minecraft:warped_nylium
|
|
||||||
- minecraft:crimson_nylium
|
|
||||||
- minecraft:nether_gold_ore
|
|
||||||
- minecraft:ancient_debris
|
|
||||||
- minecraft:nether_quartz_ore
|
|
||||||
- minecraft:magma_block
|
|
||||||
- minecraft:basalt
|
|
||||||
color-overrides:
|
|
||||||
biomes:
|
|
||||||
foliage:
|
|
||||||
minecraft:jungle: '#1f8907'
|
|
||||||
minecraft:mangrove_swamp: '#6f9623'
|
|
||||||
minecraft:sparse_jungle: '#1f8907'
|
|
||||||
minecraft:bamboo_jungle: '#1f8907'
|
|
||||||
minecraft:dark_forest: '#1c7b07'
|
|
||||||
grass: {}
|
|
||||||
water: {}
|
|
||||||
blocks:
|
|
||||||
minecraft:azure_bluet: '#F7F7F7'
|
|
||||||
minecraft:oxeye_daisy: '#D6E8E8'
|
|
||||||
minecraft:glass: '#FFFFFF'
|
|
||||||
minecraft:white_tulip: '#D6E8E8'
|
|
||||||
minecraft:mycelium: '#6F6265'
|
|
||||||
minecraft:spruce_leaves: '#619961'
|
|
||||||
minecraft:pink_tulip: '#EBC5FD'
|
|
||||||
minecraft:rose_bush: '#9B221A'
|
|
||||||
minecraft:blue_orchid: '#2ABFFD'
|
|
||||||
minecraft:orange_tulip: '#BD6A22'
|
|
||||||
minecraft:peony: '#EBC5FD'
|
|
||||||
minecraft:sunflower: '#FFEC4F'
|
|
||||||
minecraft:allium: '#B878ED'
|
|
||||||
minecraft:wither_rose: '#211A16'
|
|
||||||
minecraft:birch_leaves: '#80A755'
|
|
||||||
minecraft:lava: '#EA5C0F'
|
|
||||||
minecraft:lily_of_the_valley: '#FFFFFF'
|
|
||||||
minecraft:poppy: '#ED302C'
|
|
||||||
minecraft:attached_melon_stem: '#E0C71C'
|
|
||||||
minecraft:red_tulip: '#9B221A'
|
|
||||||
minecraft:dandelion: '#FFEC4F'
|
|
||||||
minecraft:pink_petals: '#FFB4DB'
|
|
||||||
minecraft:attached_pumpkin_stem: '#E0C71C'
|
|
||||||
minecraft:lilac: '#B66BB2'
|
|
||||||
minecraft:cornflower: '#466AEB'
|
|
||||||
minecraft:terracotta: '#9E6246'
|
|
||||||
minecraft:lily_pad: '#208030'
|
|
@ -1,95 +0,0 @@
|
|||||||
config-version: 2
|
|
||||||
settings:
|
|
||||||
commands:
|
|
||||||
main-command-label: squaremap
|
|
||||||
main-command-aliases:
|
|
||||||
- map
|
|
||||||
render-progress-logging:
|
|
||||||
enabled: true
|
|
||||||
interval-seconds: 1
|
|
||||||
language-file: lang-en.yml
|
|
||||||
debug-mode: false
|
|
||||||
update-checker: false
|
|
||||||
web-address: http://localhost:8080
|
|
||||||
web-directory:
|
|
||||||
path: web
|
|
||||||
auto-update: false
|
|
||||||
image-quality:
|
|
||||||
compress-images:
|
|
||||||
enabled: true
|
|
||||||
value: 0.5
|
|
||||||
internal-webserver:
|
|
||||||
enabled: true
|
|
||||||
bind: 0.0.0.0
|
|
||||||
port: 8080
|
|
||||||
flush-json-immediately: false
|
|
||||||
ui:
|
|
||||||
coordinates:
|
|
||||||
enabled: true
|
|
||||||
link:
|
|
||||||
enabled: true
|
|
||||||
sidebar:
|
|
||||||
pinned: pinned
|
|
||||||
world-settings:
|
|
||||||
default:
|
|
||||||
map:
|
|
||||||
enabled: true
|
|
||||||
display-name: '{world} @ Garde Studios'
|
|
||||||
order: 0
|
|
||||||
icon: ''
|
|
||||||
max-render-threads: -1
|
|
||||||
iterate-up: false
|
|
||||||
max-height: -1
|
|
||||||
biomes:
|
|
||||||
enabled: true
|
|
||||||
blend-biomes: 3
|
|
||||||
glass:
|
|
||||||
clear: true
|
|
||||||
lava:
|
|
||||||
checkerboard: true
|
|
||||||
water:
|
|
||||||
clear-depth: true
|
|
||||||
checkerboard: false
|
|
||||||
zoom:
|
|
||||||
maximum: 3
|
|
||||||
default: 3
|
|
||||||
extra: 2
|
|
||||||
background-render:
|
|
||||||
enabled: true
|
|
||||||
max-chunks-per-interval: 1024
|
|
||||||
interval-seconds: 15
|
|
||||||
max-render-threads: -1
|
|
||||||
markers:
|
|
||||||
update-interval-seconds: 5
|
|
||||||
spawn-icon:
|
|
||||||
enabled: true
|
|
||||||
show-controls: true
|
|
||||||
default-hidden: false
|
|
||||||
layer-priority: 0
|
|
||||||
z-index: 0
|
|
||||||
world-border:
|
|
||||||
enabled: true
|
|
||||||
show-controls: true
|
|
||||||
default-hidden: false
|
|
||||||
layer-priority: 1
|
|
||||||
z-index: 1
|
|
||||||
visibility-limits:
|
|
||||||
- type: world-border
|
|
||||||
enabled: 'false'
|
|
||||||
player-tracker:
|
|
||||||
enabled: true
|
|
||||||
update-interval-seconds: 1
|
|
||||||
show-controls: true
|
|
||||||
default-hidden: false
|
|
||||||
layer-priority: 2
|
|
||||||
z-index: 2
|
|
||||||
nameplate:
|
|
||||||
enabled: true
|
|
||||||
show-head: true
|
|
||||||
heads-url: https://mc-heads.net/avatar/{uuid}/16
|
|
||||||
show-armor: true
|
|
||||||
show-health: true
|
|
||||||
hide:
|
|
||||||
invisible: true
|
|
||||||
spectators: true
|
|
||||||
use-display-names: false
|
|
Before Width: | Height: | Size: 167 B |
@ -1,172 +0,0 @@
|
|||||||
body {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
background: #000000;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
ul, li {
|
|
||||||
list-style-type: none;
|
|
||||||
display: inline-block;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
#map {
|
|
||||||
width: 100%;
|
|
||||||
height: 100vh;
|
|
||||||
background: black;
|
|
||||||
}
|
|
||||||
img.leaflet-tile {
|
|
||||||
image-rendering: pixelated;
|
|
||||||
image-rendering: -moz-crisp-edges
|
|
||||||
}
|
|
||||||
div.leaflet-nameplate-pane div {
|
|
||||||
background: rgba(0, 0, 0, 0.5);
|
|
||||||
color: #ffffff;
|
|
||||||
font-weight: 700;
|
|
||||||
padding: 2px 5px 1px;
|
|
||||||
margin: 0;
|
|
||||||
border-color: rgba(0, 0, 0, 0.75);
|
|
||||||
}
|
|
||||||
div.leaflet-nameplate-pane div:before {
|
|
||||||
border-color: transparent;
|
|
||||||
}
|
|
||||||
div.leaflet-nameplate-pane div img.head {
|
|
||||||
vertical-align: middle;
|
|
||||||
margin-right: 6px;
|
|
||||||
}
|
|
||||||
div.leaflet-nameplate-pane div img.armor,
|
|
||||||
div.leaflet-nameplate-pane div img.health {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
div.leaflet-nameplate-pane div,
|
|
||||||
div.leaflet-marker-pane img {
|
|
||||||
transition: all 0.25s;
|
|
||||||
}
|
|
||||||
.leaflet-bottom.leaflet-left .link,
|
|
||||||
.leaflet-bottom.leaflet-left .coordinates {
|
|
||||||
display: inline-block;
|
|
||||||
float: none;
|
|
||||||
}
|
|
||||||
div.leaflet-control-layers.link img {
|
|
||||||
width: 34px;
|
|
||||||
height: 34px;
|
|
||||||
vertical-align: bottom;
|
|
||||||
bottom: 0;
|
|
||||||
background-image: url("../images/link.png");
|
|
||||||
background-size: 20px 20px;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-position: 50% 50%;
|
|
||||||
}
|
|
||||||
div.leaflet-control-layers.coordinates {
|
|
||||||
vertical-align: bottom;
|
|
||||||
padding: 2px 5px;
|
|
||||||
line-height: 14px;
|
|
||||||
height: 30px;
|
|
||||||
}
|
|
||||||
#sidebar {
|
|
||||||
display: flex;
|
|
||||||
flex-flow: column;
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
right: 0;
|
|
||||||
width: 0;
|
|
||||||
height: 100vh;
|
|
||||||
padding-left: 10px;
|
|
||||||
z-index: 10000;
|
|
||||||
font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
|
|
||||||
border-left: 1px solid #000000;
|
|
||||||
background-color: rgba(0, 0, 0, 0.6);
|
|
||||||
color: #ffffff;
|
|
||||||
text-align: right;
|
|
||||||
transition: all 0.25s;
|
|
||||||
}
|
|
||||||
#sidebar.show {
|
|
||||||
width: 200px;
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
#sidebar fieldset {
|
|
||||||
clear: right;
|
|
||||||
margin: 30px 0;
|
|
||||||
border: none;
|
|
||||||
border-top: 1px solid rgba(196, 196, 196, 0.4);
|
|
||||||
text-align: left;
|
|
||||||
transition: all 0.25s;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
#sidebar fieldset#worlds {
|
|
||||||
margin: -15px 0 0;
|
|
||||||
}
|
|
||||||
#sidebar fieldset#players {
|
|
||||||
margin: 10px 0 0;
|
|
||||||
overflow-y: auto;
|
|
||||||
}
|
|
||||||
#sidebar fieldset#players::-webkit-scrollbar {
|
|
||||||
width: 6px;
|
|
||||||
}
|
|
||||||
#sidebar fieldset#players::-webkit-scrollbar-track {
|
|
||||||
-webkit-box-shadow: inset 0 0 0;
|
|
||||||
}
|
|
||||||
#sidebar fieldset#players::-webkit-scrollbar-thumb {
|
|
||||||
background-color: rgba(0, 0, 0, 0);
|
|
||||||
border-right: 2px solid rgba(112, 128, 144, 0.75);
|
|
||||||
border-radius: 1px;
|
|
||||||
}
|
|
||||||
#sidebar fieldset#players::-webkit-scrollbar-thumb:hover {
|
|
||||||
border-radius: 3px;
|
|
||||||
border: 0;
|
|
||||||
background-color: rgba(112, 128, 144, 0.75);
|
|
||||||
}
|
|
||||||
#sidebar legend {
|
|
||||||
display: block;
|
|
||||||
margin: 10px 5px;
|
|
||||||
}
|
|
||||||
#sidebar fieldset a,
|
|
||||||
#sidebar fieldset a:visited {
|
|
||||||
display: block;
|
|
||||||
color: #ffffff;
|
|
||||||
text-decoration: none;
|
|
||||||
padding: 5px 10px;
|
|
||||||
transition: all 0.25s;
|
|
||||||
}
|
|
||||||
#sidebar fieldset a.following {
|
|
||||||
background-color: rgba(128, 128, 255, 0.25);
|
|
||||||
}
|
|
||||||
#sidebar fieldset a:hover,
|
|
||||||
#sidebar fieldset a.following:hover {
|
|
||||||
background-color: rgba(255, 255, 255, 0.15);
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
#sidebar fieldset a .other-world {
|
|
||||||
filter: brightness(50%) !important;
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
#sidebar fieldset a img {
|
|
||||||
vertical-align: middle;
|
|
||||||
padding-right: 10px;
|
|
||||||
filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.5));
|
|
||||||
-webkit-filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.5));
|
|
||||||
}
|
|
||||||
#sidebar fieldset#players a {
|
|
||||||
padding: 10px;
|
|
||||||
}
|
|
||||||
#sidebar #pin {
|
|
||||||
position: relative;
|
|
||||||
right: -160px;
|
|
||||||
width: 23px;
|
|
||||||
height: 23px;
|
|
||||||
margin: 5px 5px 10px;
|
|
||||||
padding: 2px;
|
|
||||||
border: 1px solid rgba(255, 255, 255, 0);
|
|
||||||
filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.5));
|
|
||||||
-webkit-filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.5));
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
#sidebar #pin.pinned:hover {
|
|
||||||
background: rgba(0, 128, 0, 0.5);
|
|
||||||
border: 1px solid rgba(0, 128, 0, 0.75);
|
|
||||||
}
|
|
||||||
#sidebar #pin.unpinned:hover {
|
|
||||||
background: rgba(128, 0, 0, 0.5);
|
|
||||||
border: 1px solid rgba(128, 0, 0, 0.75);
|
|
||||||
}
|
|
Before Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 603 B |
Before Width: | Height: | Size: 667 B |
Before Width: | Height: | Size: 662 B |
Before Width: | Height: | Size: 675 B |
Before Width: | Height: | Size: 664 B |
Before Width: | Height: | Size: 684 B |
Before Width: | Height: | Size: 670 B |
Before Width: | Height: | Size: 685 B |
Before Width: | Height: | Size: 669 B |
Before Width: | Height: | Size: 681 B |
Before Width: | Height: | Size: 663 B |
Before Width: | Height: | Size: 663 B |
Before Width: | Height: | Size: 665 B |
Before Width: | Height: | Size: 636 B |
Before Width: | Height: | Size: 690 B |
Before Width: | Height: | Size: 675 B |
Before Width: | Height: | Size: 676 B |
Before Width: | Height: | Size: 663 B |
Before Width: | Height: | Size: 676 B |
Before Width: | Height: | Size: 664 B |
Before Width: | Height: | Size: 676 B |
Before Width: | Height: | Size: 167 B |
Before Width: | Height: | Size: 527 B |
Before Width: | Height: | Size: 118 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 7.0 KiB |
Before Width: | Height: | Size: 617 B |
Before Width: | Height: | Size: 660 B |
Before Width: | Height: | Size: 678 B |
Before Width: | Height: | Size: 684 B |
Before Width: | Height: | Size: 681 B |
Before Width: | Height: | Size: 685 B |
Before Width: | Height: | Size: 683 B |
Before Width: | Height: | Size: 683 B |
Before Width: | Height: | Size: 685 B |
Before Width: | Height: | Size: 686 B |
Before Width: | Height: | Size: 677 B |
Before Width: | Height: | Size: 671 B |
Before Width: | Height: | Size: 670 B |
Before Width: | Height: | Size: 634 B |
Before Width: | Height: | Size: 675 B |
Before Width: | Height: | Size: 677 B |
Before Width: | Height: | Size: 683 B |
Before Width: | Height: | Size: 680 B |
Before Width: | Height: | Size: 684 B |
Before Width: | Height: | Size: 680 B |
Before Width: | Height: | Size: 677 B |
Before Width: | Height: | Size: 7.0 KiB |
Before Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 160 B |
Before Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 5.8 KiB |
Before Width: | Height: | Size: 87 KiB |
Before Width: | Height: | Size: 309 KiB |
Before Width: | Height: | Size: 102 KiB |
Before Width: | Height: | Size: 9.9 KiB |
Before Width: | Height: | Size: 11 KiB |
@ -1,404 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<link rel="preload" href="https://fonts.gstatic.com/s/raleway/v22/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrE.woff2" as="font" crossorigin="anonymous">
|
|
||||||
<link rel="preload" href="https://fonts.gstatic.com/s/raleway/v22/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVsEpbCIPrE.woff2" as="font" crossorigin="anonymous">
|
|
||||||
|
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no">
|
|
||||||
|
|
||||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
||||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
|
||||||
|
|
||||||
<meta name="theme-color" content="#222222">
|
|
||||||
<link rel="manifest" href="./live-atlas/favicons/site.webmanifest">
|
|
||||||
<link rel="icon" href="./live-atlas/favicons/favicon.svg">
|
|
||||||
<link rel=”mask-icon” href="./live-atlas/favicons/mask.svg" color="#cccccc">
|
|
||||||
<link rel="apple-touch-icon" sizes="180x180" href="./live-atlas/favicons/apple-touch-icon.png">
|
|
||||||
|
|
||||||
<meta name="keywords" content="minecraft, map, dynamic, liveatlas" />
|
|
||||||
<meta name="description" content="Minecraft Dynamic Map" />
|
|
||||||
|
|
||||||
<title>LiveAtlas</title>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
window.liveAtlasConfig = {
|
|
||||||
// By default LiveAtlas looks for a dynmap standalone/config.js file
|
|
||||||
// This configuration can be used instead to support Pl3xmap and Squaremap installations as well as multiple servers (external webserver required)
|
|
||||||
// To configure multiple servers, see https://github.com/JLyne/LiveAtlas/wiki/Configuring-Multiple-Servers.
|
|
||||||
|
|
||||||
// Example Squaremap internal webserver configuration
|
|
||||||
servers: {
|
|
||||||
squaremap: {
|
|
||||||
squaremap: window.location.pathname
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
// Example Pl3xmap internal webserver configuration
|
|
||||||
// servers: {
|
|
||||||
// pl3xmap: {
|
|
||||||
// pl3xmap: window.location.pathname
|
|
||||||
// },
|
|
||||||
// },
|
|
||||||
|
|
||||||
// Example Overviewer configuration
|
|
||||||
// servers: {
|
|
||||||
// overviewer: {
|
|
||||||
// overviewer: window.location.pathname
|
|
||||||
// },
|
|
||||||
// },
|
|
||||||
|
|
||||||
// Example Dynmap internal webserver configuration without using standalone/config.js
|
|
||||||
// servers: {
|
|
||||||
// dynmap: {
|
|
||||||
// dynmap: {
|
|
||||||
// configuration: 'standalone/dynmap_config.json?_={timestamp}',
|
|
||||||
// update: 'standalone/dynmap_{world}.json?_={timestamp}',
|
|
||||||
// sendmessage: 'standalone/sendmessage.php',
|
|
||||||
// login: 'standalone/login.php',
|
|
||||||
// register: 'standalone/register.php',
|
|
||||||
// tiles: 'tiles/',
|
|
||||||
// markers: 'tiles/'
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// },
|
|
||||||
|
|
||||||
// Example multiple Dynmap servers on external webserver configuration
|
|
||||||
// servers: {
|
|
||||||
// creative: {
|
|
||||||
// label: 'Creative',
|
|
||||||
// dynmap: {
|
|
||||||
// configuration: 'http://dynmap.local/standalone/creative/MySQL_configuration.php',
|
|
||||||
// update: 'http://dynmap.local/standalone/creative/MySQL_update.php?world={world}&ts={timestamp}',
|
|
||||||
// sendmessage: 'http://dynmap.local/standalone/creative/MySQL_sendmessage.php',
|
|
||||||
// login: 'http://dynmap.local/standalone/creative/MySQL_login.php',
|
|
||||||
// register: 'http://dynmap.local/standalone/creative/MySQL_register.php',
|
|
||||||
// tiles: 'http://dynmap.local/standalone/creative/MySQL_tiles.php?tile=',
|
|
||||||
// markers: 'http://dynmap.local/standalone/creative/MySQL_markers.php?marker='
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// survival: {
|
|
||||||
// label: 'Survival',
|
|
||||||
// dynmap: {
|
|
||||||
// configuration: 'http://dynmap.local/standalone/survival/MySQL_configuration.php',
|
|
||||||
// update: 'http://dynmap.local/standalone/survival/MySQL_update.php?world={world}&ts={timestamp}',
|
|
||||||
// sendmessage: 'http://dynmap.local/standalone/survival/MySQL_sendmessage.php',
|
|
||||||
// login: 'http://dynmap.local/standalone/survival/MySQL_login.php',
|
|
||||||
// register: 'http://dynmap.local/standalone/survival/MySQL_register.php',
|
|
||||||
// tiles: 'http://dynmap.local/standalone/survival/MySQL_tiles.php?tile=',
|
|
||||||
// markers: 'http://dynmap.local/standalone/survival/MySQL_markers.php?marker='
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// },
|
|
||||||
|
|
||||||
// These messages are used throughout LiveAtlas and can be translated here
|
|
||||||
// If a message you want to translate isn't here, it is likely controlled by dynmap itself
|
|
||||||
// see https://github.com/webbukkit/dynmap/wiki/Configuration.txt
|
|
||||||
messages: {
|
|
||||||
chatNoMessages: 'No chat messages yet...',
|
|
||||||
chatTitle: 'Chat',
|
|
||||||
chatLogin: 'Please login to send chat messages',
|
|
||||||
chatSend: 'Send',
|
|
||||||
chatPlaceholder: 'Type your chat message here...',
|
|
||||||
chatErrorUnknown: 'Unexpected error while sending chat message',
|
|
||||||
chatErrorDisabled: 'Chat is not enabled',
|
|
||||||
serversHeading: 'Servers',
|
|
||||||
markersHeading: 'Markers',
|
|
||||||
markersSearchPlaceholder: 'Search markers...',
|
|
||||||
markersSkeleton: 'No markers exist for the current world',
|
|
||||||
markersSetSkeleton: 'This marker set is empty',
|
|
||||||
markersSearchSkeleton: 'No matching markers found',
|
|
||||||
markersUnnamed: '(Unnamed marker)',
|
|
||||||
worldsSkeleton: 'No maps have been configured',
|
|
||||||
playersSkeleton: 'No players are currently online',
|
|
||||||
playersTitle: 'Click to center on player\nDouble-click to follow player',
|
|
||||||
playersTitleHidden: 'This player is currently hidden from the map\nDouble-click to follow player when they become visible',
|
|
||||||
playersTitleOtherWorld: 'This player is in another world.\nClick to center on player\nDouble-click to follow player',
|
|
||||||
playersSearchPlaceholder: 'Search players...',
|
|
||||||
playersSearchSkeleton: 'No matching players found',
|
|
||||||
followingHeading: 'Following',
|
|
||||||
followingUnfollow: 'Unfollow',
|
|
||||||
followingTitleUnfollow: 'Stop following this player',
|
|
||||||
followingHidden: 'Currently hidden',
|
|
||||||
linkTitle: 'Copy link to current location',
|
|
||||||
loadingTitle: 'Loading...',
|
|
||||||
locationRegion: 'Region',
|
|
||||||
locationChunk: 'Chunk',
|
|
||||||
contextMenuCopyLink: 'Copy link to here',
|
|
||||||
contextMenuCenterHere: 'Center here',
|
|
||||||
toggleTitle: 'Click to toggle this section',
|
|
||||||
mapTitle: 'Map - Use the arrow keys to pan the map',
|
|
||||||
layersTitle: 'Layers',
|
|
||||||
copyToClipboardSuccess: 'Copied to clipboard',
|
|
||||||
copyToClipboardError: 'Unable to copy to clipboard',
|
|
||||||
|
|
||||||
loginTitle: 'Login/Register',
|
|
||||||
loginHeading: 'Existing User',
|
|
||||||
loginUsernameLabel: 'Username',
|
|
||||||
loginPasswordLabel: 'Password',
|
|
||||||
loginSubmit: 'Login',
|
|
||||||
loginErrorUnknown: 'Unexpected error while logging in',
|
|
||||||
loginErrorDisabled: 'Logging in is disabled on this server',
|
|
||||||
loginErrorIncorrect: 'Incorrect username or password',
|
|
||||||
loginSuccess: 'Logged in successfully',
|
|
||||||
|
|
||||||
registerHeading: 'New User',
|
|
||||||
registerDescription: `Enter your username and password, along with your registration code.
|
|
||||||
|
|
||||||
You can get a registration code by running /dynmap webregister in-game.`,
|
|
||||||
registerConfirmPasswordLabel: 'Confirm Password',
|
|
||||||
registerCodeLabel: 'Registration Code',
|
|
||||||
registerSubmit: 'Register',
|
|
||||||
registerErrorUnknown: 'Unexpected error during registration',
|
|
||||||
registerErrorDisabled: 'Registration is disabled on this server',
|
|
||||||
registerErrorVerifyFailed: 'The entered passwords do not match',
|
|
||||||
registerErrorIncorrect: 'Registration failed, please check the entered details are correct',
|
|
||||||
|
|
||||||
logoutTitle: 'Logout',
|
|
||||||
logoutErrorUnknown: 'Unexpected error while logging out',
|
|
||||||
logoutSuccess: 'Logged out successfully',
|
|
||||||
|
|
||||||
closeTitle: 'Close',
|
|
||||||
showMore: 'Show more'
|
|
||||||
},
|
|
||||||
|
|
||||||
ui: {
|
|
||||||
// If true, player markers will always be displayed in front of other marker types
|
|
||||||
playersAboveMarkers: true,
|
|
||||||
|
|
||||||
// Whether to enable the player list search box
|
|
||||||
playersSearch: true,
|
|
||||||
|
|
||||||
// Use more compact pre-2.0 player marker style
|
|
||||||
compactPlayerMarkers: false,
|
|
||||||
|
|
||||||
// Disable the map right click menu
|
|
||||||
disableContextMenu: false,
|
|
||||||
|
|
||||||
// Disable the markers button and list
|
|
||||||
disableMarkerUI: false,
|
|
||||||
|
|
||||||
// Custom URL to redirect to when logging in is required
|
|
||||||
// This URL will need to handle the login process and redirect users back to LiveAtlas
|
|
||||||
customLoginUrl: null
|
|
||||||
},
|
|
||||||
|
|
||||||
// Config version. Do not modify.
|
|
||||||
version: 1
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
/* Theme colours */
|
|
||||||
:root {
|
|
||||||
--background-base: #222222; /* Foreground UI elements */
|
|
||||||
--background-dark: #121212; /* Body/Splash screen/Shadows */
|
|
||||||
--background-light: #363636; /* Scrollbars/inputs */
|
|
||||||
--background-error: #771616; /* Errors */
|
|
||||||
--background-marker: var(--background-dark); /* Map markers */
|
|
||||||
|
|
||||||
--background-disabled: #555555; /* Disabled controls */
|
|
||||||
--background-hover: #363636; /* :hovered buttons/menu items */
|
|
||||||
--background-active: #6d6d6d; /* Button :active */
|
|
||||||
--background-selected: #BDBDBD; /* Selected buttons/menu items */
|
|
||||||
|
|
||||||
--outline-focus: #eeeeee; /* :focus outline */
|
|
||||||
|
|
||||||
--border-radius: 0.5rem;
|
|
||||||
--border-color: #333333; /* Control borders */
|
|
||||||
--border-error: #cc0e0e;
|
|
||||||
--box-shadow: 2px 2px 0px #111111;
|
|
||||||
|
|
||||||
--text-base: rgba(255, 255, 255, 0.7); /* Normal text */
|
|
||||||
--text-emphasis: rgba(255, 255, 255, 0.87); /* Chat messages/:focus inputs */
|
|
||||||
--text-subtle: rgba(255, 255, 255, 0.5); /* Skeletons/secondary text */
|
|
||||||
--text-disabled: var(--text-subtle); /* Disabled controls */
|
|
||||||
--text-marker: var(--text-base); /* Map markers */
|
|
||||||
|
|
||||||
--text-hover: var(--text-base); /* Text in :hover buttons */
|
|
||||||
--text-active: var(--text-base); /* Text in :active buttons */
|
|
||||||
--text-selected: var(--background-base); /* Text in selected buttons */
|
|
||||||
--text-shadow: 0.1rem 0.1rem #000000; /* Text in selected buttons */
|
|
||||||
|
|
||||||
--text-night: #ddffff; /* Clock time at night */
|
|
||||||
--text-day: #ffdd33; /* Clock time in day */
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes fade {
|
|
||||||
from {
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
to {
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
* {
|
|
||||||
scrollbar-width: thin;
|
|
||||||
scrollbar-color: var(--background-light) transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
*:hover, *:focus-within {
|
|
||||||
scrollbar-color: var(--background-hover) transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
*::-webkit-scrollbar {
|
|
||||||
width: 0.7rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
*::-webkit-scrollbar-track {
|
|
||||||
background: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
*::-webkit-scrollbar-thumb {
|
|
||||||
background-color: var(--background-light);
|
|
||||||
border: 2px solid #000000;
|
|
||||||
border-radius: 2rem;
|
|
||||||
transition: background 1s ease-in;
|
|
||||||
padding-right: 0.2rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
*:hover::-webkit-scrollbar-thumb, *:focus-within::-webkit-scrollbar-thumb {
|
|
||||||
background-color: var(--background-hover);
|
|
||||||
}
|
|
||||||
|
|
||||||
*::-webkit-scrollbar-button {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
html, body {
|
|
||||||
background-color: var(--background-dark);
|
|
||||||
height: 100%;
|
|
||||||
width: 100%;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
overscroll-behavior: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
html {
|
|
||||||
font-size: 62.5%;
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
font-family: Raleway,
|
|
||||||
system-ui,
|
|
||||||
-apple-system,
|
|
||||||
'Segoe UI',
|
|
||||||
Roboto,
|
|
||||||
Helvetica,
|
|
||||||
Arial,
|
|
||||||
sans-serif,
|
|
||||||
'Apple Color Emoji',
|
|
||||||
'Segoe UI Emoji';
|
|
||||||
color: var(--text-base);
|
|
||||||
text-shadow: var(--text-shadow);
|
|
||||||
letter-spacing: 0.02rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
noscript {
|
|
||||||
color: var(--text-base);
|
|
||||||
font-size: 1rem;
|
|
||||||
font-family: sans-serif;
|
|
||||||
text-align: center;
|
|
||||||
line-height: 1.25;
|
|
||||||
}
|
|
||||||
|
|
||||||
#splash, noscript {
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
bottom: 0;
|
|
||||||
right: 0;
|
|
||||||
transition: 0.3s opacity linear;
|
|
||||||
z-index: 100;
|
|
||||||
background-color: var(--background-dark);
|
|
||||||
cursor: wait;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
font-size: 1.6rem;
|
|
||||||
padding: 4rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
#splash[hidden] {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#splash__spinner {
|
|
||||||
margin-top: 4rem;
|
|
||||||
animation: fade 0.5s linear 1s;
|
|
||||||
animation-fill-mode: both;
|
|
||||||
}
|
|
||||||
|
|
||||||
#splash__error {
|
|
||||||
margin-top: 2rem;
|
|
||||||
transition: opacity 0.5s ease-in;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
text-align: center;
|
|
||||||
max-width: 60rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
#splash__error-message {
|
|
||||||
font-family: monospace;
|
|
||||||
background-color: var(--background-error);
|
|
||||||
padding: 1rem 1.5rem;
|
|
||||||
border-radius: var(--border-radius);
|
|
||||||
margin-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
#splash__error[aria-hidden=true] {
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#app {
|
|
||||||
font-size: 1.6rem;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<script type="module" crossorigin src="./live-atlas/assets/index.a82d2095.js"></script>
|
|
||||||
<link rel="modulepreload" href="./live-atlas/assets/vendor.d0ab50b1.js">
|
|
||||||
<link rel="stylesheet" href="./live-atlas/assets/index.1de34b3a.css">
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="splash">
|
|
||||||
<svg id="splash__logo" width="200" height="200" viewBox="0 0 268.83 266.53" aria-hidden="true" fill="rgba(255, 255, 255, 0.7)">
|
|
||||||
<path d="M5.235.662C2.153.606 0 2.945 0 6.912v216.577c0 5.288 3.828 11.41 8.582 13.725l57.835 28.165c4.755 2.316 8.582-.078 8.582-5.367V43.434c0-5.288-3.827-11.41-8.582-13.727L8.582 1.544C7.394.965 6.262.681 5.235.662zm32.283 135.96c14.394 0 26.062 11.669 26.062 26.063 0 14.394-24.167 59.55-26.062 57.654-1.854 1.854-26.063-43.26-26.063-57.654 0-14.394 11.669-26.063 26.063-26.063zM202.388 1.013l57.833 28.165c4.755 2.315 8.583 8.437 8.583 13.726v216.58c0 5.29-3.828 7.683-8.583 5.367l-57.833-28.164c-4.755-2.316-8.583-8.438-8.583-13.727V6.38c0-5.289 3.828-7.682 8.583-5.367zM172.012.39c-1.051-.035-2.209.191-3.426.709l-68.342 29.053c-4.867 2.07-8.786 7.993-8.786 13.282V260.01c0 5.29 3.919 7.88 8.786 5.811l68.342-29.053c4.867-2.07 8.786-7.991 8.786-13.28V6.91c0-3.967-2.204-6.417-5.36-6.521zm-36.949 41.216c14.394 0 26.063 11.668 26.063 26.062 0 14.394-24.168 59.55-26.063 57.655C133.209 127.177 109 82.063 109 67.668c0-14.394 11.669-26.062 26.063-26.062z"/>
|
|
||||||
<path d="M48.573 162.689a11.056 11.056 0 0 1-11.056 11.056 11.056 11.056 0 0 1-11.056-11.056 11.056 11.056 0 0 1 11.056-11.056 11.056 11.056 0 0 1 11.056 11.056zM146.12 67.669a11.056 11.056 0 0 1-11.057 11.056 11.056 11.056 0 0 1-11.056-11.056 11.056 11.056 0 0 1 11.056-11.056 11.056 11.056 0 0 1 11.056 11.056z"/>
|
|
||||||
</svg>
|
|
||||||
|
|
||||||
<svg id="splash__spinner" width="38" height="38" viewBox="0 0 38 38" stroke="#fff" aria-label="LiveAtlas is loading">
|
|
||||||
<g transform="translate(1 1)" stroke-width="2" fill="none">
|
|
||||||
<circle stroke-opacity=".5" cx="18" cy="18" r="18"/>
|
|
||||||
<path d="M36 18c0-9.94-8.06-18-18-18">
|
|
||||||
<animateTransform attributeName="transform" type="rotate" from="0 18 18" to="360 18 18" dur="1s" repeatCount="indefinite"/>
|
|
||||||
</path>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
|
||||||
<div id="splash__error" aria-hidden="true">
|
|
||||||
<span id="splash__error-message" role="alert"></span>
|
|
||||||
<span id="splash__error-retry" aria-live="polite"></span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<noscript>
|
|
||||||
<strong>LiveAtlas requires JavaScript to work.<br />Please enable it to continue.</strong>
|
|
||||||
</noscript>
|
|
||||||
|
|
||||||
<main id="app" aria-hidden="true"></main>
|
|
||||||
|
|
||||||
|
|
||||||
<script>
|
|
||||||
window.addEventListener('load', () => {
|
|
||||||
if(!window.liveAtlasLoaded) {
|
|
||||||
document.getElementById('splash__error').setAttribute('aria-hidden', 'false');
|
|
||||||
document.getElementById('splash__error-message').innerText = 'Required LiveAtlas files are missing or failed to load.\nPlease reinstall LiveAtlas.';
|
|
||||||
document.getElementById('splash__spinner').style.visibility = 'hidden';
|
|
||||||
}
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|