diff --git a/.env.hopping.kcp b/.env.hopping.kcp
new file mode 100644
index 0000000000000000000000000000000000000000..ff6e14045c1a9e76ef666e0d0a1699fb2333947f
--- /dev/null
+++ b/.env.hopping.kcp
@@ -0,0 +1,4 @@
+PROTO="udp"
+HOP_PT="1"
+KCP="1"
+PORT="4430"
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 14e9f7a7139a4348198bf5debdf566273685f8db..0c6394be21f7c33a1721e759a557190e537d7bf7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -88,6 +88,19 @@ integration-test-kcp:
     - linux
     - docker-in-docker
 
+integration-test-hopping-kcp:
+  image: docker:dind
+  stage: test
+  services:
+    - name: docker:dind
+      alias: docker
+  script:
+    - apk add --update bash
+    - /bin/bash ./scripts/integration-test.sh hop-kcp
+  tags:
+    - linux
+    - docker-in-docker
+
 # We can build the client separately here
 build-client:
   extends: build
diff --git a/scripts/integration-test.sh b/scripts/integration-test.sh
index 7bae6a88f608aac0a3b727e2d7e4b4ceb500a0b6..053853f5e6436f0a692dafd715dcd0facd3bc23a 100755
--- a/scripts/integration-test.sh
+++ b/scripts/integration-test.sh
@@ -15,6 +15,8 @@ if [[ "$1" == "hop" ]]; then
   env_file=./.env.hopping
 elif [[ "$1" == "kcp" ]]; then
   env_file=./.env.kcp
+elif [[ "$1" == "hop-kcp" ]]; then
+  env_file=./.env.hopping.kcp
 fi
 
 docker-compose down --rmi all -v