Skip to content
This repository was archived by the owner on Aug 12, 2024. It is now read-only.

Commit 6e1be00

Browse files
committed
Mega 2021 Update
1. Move to go modules 2. Update to latest Cuberite 3. Update to latest Docker 4. Use golangci-lint for linting 5. Fix lint errors 6. Profit Signed-off-by: Dave Tucker <[email protected]>
1 parent 4be6b59 commit 6e1be00

File tree

963 files changed

+191795
-77576
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

963 files changed

+191795
-77576
lines changed

.golangci.yml

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
linters:
2+
disable-all: true
3+
enable:
4+
- deadcode
5+
- errcheck
6+
- gofmt
7+
- goimports
8+
- gosimple
9+
- govet
10+
- ineffassign
11+
- revive
12+
- staticcheck
13+
- structcheck
14+
- typecheck
15+
- unused
16+
- varcheck

Docker/container.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ function Container:destroy(running)
5858
LOG("Exploding at X:" .. X .. " Y:" .. Y .. " Z:" .. Z)
5959
local World = cRoot:Get():GetDefaultWorld()
6060
World:BroadcastSoundEffect("random.explode", X, Y, Z, 1, 1)
61-
World:BroadcastParticleEffect("hugeexplosion",X, Y, Z, 0, 0, 0, 1, 1)
61+
World:BroadcastParticleEffect("hugeexplosion",Vector3f(X, Y, Z), Vector3f(), 1, 1)
6262

6363
-- if a block is removed before it's button/lever/sign, that object will drop
6464
-- and the player can collect it. Remove these first

Docker/update.lua

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ function NewUpdateQueue()
3939
function update:exec()
4040
if self.op == UPDATE_SET
4141
then
42-
cRoot:Get():GetDefaultWorld():SetBlock(self.x,self.y,self.z,self.blockID,self.meta)
42+
cRoot:Get():GetDefaultWorld():SetBlock(Vector3i(self.x, self.y, self.z),self.blockID,self.meta)
4343
elseif self.op == UPDATE_DIG
4444
then
45-
cRoot:Get():GetDefaultWorld():DigBlock(self.x,self.y,self.z)
45+
cRoot:Get():GetDefaultWorld():DigBlock(Vector3i(self.x,self.y,self.z))
4646
elseif self.op == UPDATE_SIGN
4747
then
4848
cRoot:Get():GetDefaultWorld():SetSignLines(self.x,self.y,self.z,self.meta.line1,self.meta.line2,self.meta.line3,self.meta.line4)

Dockerfile

+10-10
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
1-
FROM alpine:3.6 AS wget
1+
FROM alpine:3.13 AS wget
22
RUN apk add --no-cache ca-certificates wget tar
33

44
FROM wget AS docker
5-
ARG DOCKER_VERSION=17.09.0-ce
5+
ARG DOCKER_VERSION=20.10.7
66
RUN wget -qO- https://download.docker.com/linux/static/stable/x86_64/docker-${DOCKER_VERSION}.tgz | \
77
tar -xvz --strip-components=1 -C /bin
88

99
FROM wget AS cuberite
10-
ARG CUBERITE_BUILD=905
10+
ARG CUBERITE_BUILD=239
1111
WORKDIR /srv
12-
RUN wget -qO- "https://builds.cuberite.org/job/Cuberite Linux x64 Master/${CUBERITE_BUILD}/artifact/Cuberite.tar.gz" |\
12+
RUN wget -qO- "https://builds.cuberite.org/job/linux-x86_64/${CUBERITE_BUILD}/artifact/Cuberite.tar.gz" |\
1313
tar -xzf -
1414

15-
FROM golang:1.9 AS dockercraft
15+
FROM golang:1.16 AS dockercraft
1616
WORKDIR /go/src/github.com/docker/dockercraft
1717
COPY . .
1818
RUN go install
1919

20-
FROM debian:jessie
20+
FROM debian:buster-slim
2121
RUN apt-get update; apt-get install -y ca-certificates
2222
COPY --from=dockercraft /go/bin/dockercraft /bin
2323
COPY --from=docker /bin/docker /bin
2424
COPY --from=cuberite /srv /srv
2525

2626
# Copy Dockercraft config and plugin
27-
COPY ./config /srv/Server
28-
COPY ./docs/img/logo64x64.png /srv/Server/favicon.png
29-
COPY ./Docker /srv/Server/Plugins/Docker
27+
COPY ./config /srv
28+
COPY ./docs/img/logo64x64.png /srv/favicon.png
29+
COPY ./Docker /srv/Plugins/Docker
3030

3131
EXPOSE 25565
32-
ENTRYPOINT ["/srv/Server/start.sh"]
32+
ENTRYPOINT ["/srv/start.sh"]

Makefile

+5-17
Original file line numberDiff line numberDiff line change
@@ -3,35 +3,23 @@
33
REPO_NAME = dockercraft
44
REPO_OWNER = docker
55
PKG_NAME = github.com/${REPO_OWNER}/${REPO_NAME}
6-
IMAGE = golang:1.8
6+
IMAGE = golang:1.16
77
IMAGE_NAME = dockercraft-dev
88
CONTAINER_NAME = dockercraft-dev-container
99
PACKAGES=$(shell go list ./... | grep -v vendor)
1010

1111
all: test
1212

13-
test-local: install-deps fmt lint vet
13+
test-local:
1414
@echo "+ $@"
1515
@go test -v .
1616

17-
test:
18-
@docker run -v ${shell pwd}:/go/src/${PKG_NAME} -w /go/src/${PKG_NAME} ${IMAGE} make test-local
19-
20-
install-deps:
21-
@echo "+ $@"
22-
@go get -u github.com/golang/lint/golint
17+
test: lint
18+
@docker run -v $(CURDIR):/go/src/${PKG_NAME} -w /go/src/${PKG_NAME} ${IMAGE} make test-local
2319

2420
lint:
2521
@echo "+ $@"
26-
@test -z "$$(golint $(PACKAGES) | tee /dev/stderr)"
27-
28-
fmt:
29-
@echo "+ $@"
30-
@test -z "$$(gofmt -s -l *.go | tee /dev/stderr)"
31-
32-
vet:
33-
@echo "+ $@"
34-
go vet $(PACKAGES)
22+
@docker run --rm -v $(CURDIR):/app -w /app golangci/golangci-lint:v1.40.1 golangci-lint run -v
3523

3624
build:
3725
@echo "+ $@"

config/start.sh

+3-3
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ if [ -n "$4" ]; then
2323
finishers="$4"
2424
fi
2525

26-
sed -i "s/@BIOME@/${biome}/g;s/@GROUNDLEVEL@/${groundlevel}/g;s/@SEALEVEL@/${sealevel}/g;s/@FINISHERS@/${finishers}/g" /srv/Server/world/world.ini
26+
sed -i "s/@BIOME@/${biome}/g;s/@GROUNDLEVEL@/${groundlevel}/g;s/@SEALEVEL@/${sealevel}/g;s/@FINISHERS@/${finishers}/g" /srv/world/world.ini
2727

2828
echo Starting Dockercraft
29-
cd /srv/Server
29+
cd /srv
3030
dockercraft &
3131
sleep 5
32-
./Cuberite
32+
./Cuberite

daemon.go

+6-4
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ import (
1313
"sync"
1414
"time"
1515

16-
log "github.com/Sirupsen/logrus"
1716
"github.com/docker/docker/api/types"
1817
"github.com/docker/docker/api/types/events"
1918
"github.com/docker/docker/api/types/filters"
2019
"github.com/docker/docker/client"
20+
log "github.com/sirupsen/logrus"
2121
)
2222

2323
// TCPMessage defines what a message that can be
@@ -90,7 +90,7 @@ type CPUStats struct {
9090
// Init initializes a Daemon
9191
func (d *Daemon) Init() error {
9292
var err error
93-
d.Client, err = client.NewEnvClient()
93+
d.Client, err = client.NewClientWithOpts(client.FromEnv)
9494
if err != nil {
9595
return err
9696
}
@@ -112,7 +112,9 @@ func (d *Daemon) Init() error {
112112
func (d *Daemon) Serve() {
113113

114114
tcpAddr, err := net.ResolveTCPAddr("tcp", ":25566")
115-
115+
if err != nil {
116+
panic(err)
117+
}
116118
ln, err := net.ListenTCP("tcp", tcpAddr)
117119
if err != nil {
118120
log.Fatalln("listen tcp error:", err)
@@ -322,7 +324,7 @@ func (d *Daemon) eventCallback(event events.Message) {
322324

323325
default:
324326
// Ignoring
325-
log.Debug("Ignoring event: %s", event.Status)
327+
log.Debugf("Ignoring event: %s", event.Status)
326328
}
327329
}
328330

docker-compose.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ dockercraft:
55
- "/var/run/docker.sock:/var/run/docker.sock"
66
ports:
77
- "25565:25565"
8-
tty: true
8+
tty: true

go.mod

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
module github.com/docker/dockercraft
2+
3+
go 1.16
4+
5+
require (
6+
github.com/containerd/containerd v1.5.2 // indirect
7+
github.com/docker/docker v20.10.7+incompatible
8+
github.com/docker/go-connections v0.4.0 // indirect
9+
github.com/gorilla/mux v1.8.0 // indirect
10+
github.com/moby/term v0.0.0-20210610120745-9d4ed1856297 // indirect
11+
github.com/morikuni/aec v1.0.0 // indirect
12+
github.com/sirupsen/logrus v1.8.1
13+
golang.org/x/time v0.0.0-20210611083556-38a9dc6acbc6 // indirect
14+
google.golang.org/grpc v1.38.0 // indirect
15+
)

0 commit comments

Comments
 (0)