From 3aa873d52a17a86a3258abe015f56d853bef9b87 Mon Sep 17 00:00:00 2001 From: Jack O'Sullivan Date: Mon, 16 Feb 2026 22:49:22 +0000 Subject: [PATCH] nixos/whale2: Add graeme --- lib/constants.nix | 9 ++++ nixos/boxes/colony/vms/estuary/default.nix | 2 + nixos/boxes/colony/vms/estuary/dns.nix | 2 + nixos/boxes/colony/vms/whale2/default.nix | 1 + .../colony/vms/whale2/minecraft/default.nix | 40 ++++++++++++++++++ .../colony/vms/whale2/minecraft/graeme.png | Bin 0 -> 9091 bytes 6 files changed, 54 insertions(+) create mode 100644 nixos/boxes/colony/vms/whale2/minecraft/graeme.png diff --git a/lib/constants.nix b/lib/constants.nix index 8ff0070..2e34d6e 100644 --- a/lib/constants.nix +++ b/lib/constants.nix @@ -217,6 +217,10 @@ rec { port = 25568; dst = aa.kinkcraft-oci.internal.ipv4.address; } + { + port = 25569; + dst = aa.graeme-oci.internal.ipv4.address; + } # RCON... unsafe? # { @@ -261,6 +265,11 @@ rec { dst = aa.kinkcraft-oci.internal.ipv4.address; proto = "udp"; } + { + port = 25569; + dst = aa.graeme-oci.internal.ipv4.address; + proto = "udp"; + } { port = 15636; diff --git a/nixos/boxes/colony/vms/estuary/default.nix b/nixos/boxes/colony/vms/estuary/default.nix index c99090d..e6ebc52 100644 --- a/nixos/boxes/colony/vms/estuary/default.nix +++ b/nixos/boxes/colony/vms/estuary/default.nix @@ -433,6 +433,7 @@ in ip6 daddr ${aa.simpcraft-staging-oci.internal.ipv6.address} tcp dport 25565 accept ip6 daddr ${aa.kevcraft-oci.internal.ipv6.address} tcp dport 25567 accept ip6 daddr ${aa.kinkcraft-oci.internal.ipv6.address} tcp dport 25568 accept + ip6 daddr ${aa.graeme-oci.internal.ipv6.address} tcp dport 25569 accept ip6 daddr ${aa.gam.internal.ipv6.address} tcp dport 7777 accept return } @@ -443,6 +444,7 @@ in ip6 daddr ${aa.enshrouded-oci.internal.ipv6.address} udp dport { 15636-15637 } accept ip6 daddr ${aa.kevcraft-oci.internal.ipv6.address} udp dport 25567 accept ip6 daddr ${aa.kinkcraft-oci.internal.ipv6.address} udp dport 25568 accept + ip6 daddr ${aa.graeme-oci.internal.ipv6.address} udp dport 25569 accept ip6 daddr ${aa.gam.internal.ipv6.address} udp dport 7777 accept return } diff --git a/nixos/boxes/colony/vms/estuary/dns.nix b/nixos/boxes/colony/vms/estuary/dns.nix index 36659eb..e195e01 100644 --- a/nixos/boxes/colony/vms/estuary/dns.nix +++ b/nixos/boxes/colony/vms/estuary/dns.nix @@ -168,6 +168,8 @@ in kevcraft IN AAAA ${allAssignments.kevcraft-oci.internal.ipv6.address} kinkcraft IN A ${assignments.internal.ipv4.address} kinkcraft IN AAAA ${allAssignments.kinkcraft-oci.internal.ipv6.address} + graeme IN A ${assignments.internal.ipv4.address} + graeme IN AAAA ${allAssignments.graeme-oci.internal.ipv6.address} terraria IN A ${assignments.internal.ipv4.address} terraria IN AAAA ${allAssignments.gam.internal.ipv6.address} diff --git a/nixos/boxes/colony/vms/whale2/default.nix b/nixos/boxes/colony/vms/whale2/default.nix index 7715328..799bdab 100644 --- a/nixos/boxes/colony/vms/whale2/default.nix +++ b/nixos/boxes/colony/vms/whale2/default.nix @@ -55,6 +55,7 @@ in enshrouded-oci = 5; kevcraft-oci = 6; kinkcraft-oci = 7; + graeme-oci = 8; }; configuration = { lib, pkgs, modulesPath, config, assignments, allAssignments, ... }: diff --git a/nixos/boxes/colony/vms/whale2/minecraft/default.nix b/nixos/boxes/colony/vms/whale2/minecraft/default.nix index e3747d0..c53be9a 100644 --- a/nixos/boxes/colony/vms/whale2/minecraft/default.nix +++ b/nixos/boxes/colony/vms/whale2/minecraft/default.nix @@ -186,6 +186,46 @@ in ]; }; + graeme = { + # 2026.2.1-java21-alpine + image = "itzg/minecraft-server@sha256:82adaddfe0156f07c34228f1c1065cdbd298abc174de0a9961abb068b11beebb"; + + environment = { + TYPE = "VANILLA"; + SERVER_PORT = "25569"; + QUERY_PORT = "25569"; + + EULA = "true"; + ENABLE_QUERY = "true"; + ENABLE_RCON = "false"; + MOTD = "§4§k----- §9G§ar§ba§ce§dm§ee §4§k-----"; + ICON = "/ext/icon.png"; + + EXISTING_WHITELIST_FILE = "SYNCHRONIZE"; + WHITELIST = concatStringsSep "," [ + op + # ... :( + ]; + EXISTING_OPS_FILE = "SYNCHRONIZE"; + OPS = op; + DIFFICULTY = "normal"; + SPAWN_PROTECTION = "0"; + VIEW_DISTANCE = "20"; + + MAX_MEMORY = "4G"; + + TZ = "Europe/Dublin"; + }; + + volumes = [ + "graeme_data:/data" + "${./graeme.png}:/ext/icon.png:ro" + ]; + + extraOptions = [ + ''--network=colony:${dockerNetAssignment allAssignments "graeme-oci"}'' + ]; + }; }; services = { diff --git a/nixos/boxes/colony/vms/whale2/minecraft/graeme.png b/nixos/boxes/colony/vms/whale2/minecraft/graeme.png new file mode 100644 index 0000000000000000000000000000000000000000..ea645610ff69ef27d4b89d1c84742a72f17fa187 GIT binary patch literal 9091 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4kiW$23787oeT^N3dtTpz6=aiY77hwEes65 z7#J8DUNA6}8Za=tN?>5Hn!&&zUNC1@pbY~916z`}y9>jA5L~c#`D6wL2KEw9Usv{5 zOafx+rbqeh?Lp?2xJHzuB$lLFB^RY8mZUNm85o)A8W`ysnuQn{Ss7be85(FC7+4t? zd}~}X9YsTKeoAIqC2kGvcVx5~7#K9*Hk4%MrWThZ<`!V;F*Sx*lA5hKnSntm+0(@_ zB;#IaRpgn}%%9DLGZou~TyLtWo}QB9eUJCJq0AFq54k2ARfh>r zb^RUhH68J2kl++h**I6BVXe-j+_lS8yi{C+mYjGvLFU}A^M8KVf8YEyXllFll8L_y z3NG$=e&^MyS9bR={rLRCou0|%E9Lx%wahf)VeSBFj=GXn!t3sVCR zLk9;#hXa=&BP+wliy90J3IeuLiYYD%4h~LAiYzVt@7a%7T&isGO588&dduL!yUa+F zo@iz6RKa0qxzX=qU3 z>Pi!HU||t(abj{{Npo{yVma8qI4VV+!Lfm1CJU>b=Ua72HUEJymm@sSG~<#%Zps{qVkLkoB|9b`=>Ut$TtW` zzt?^(I_aVo!(s(xBW8}%i+>q$D4aNccT>fTnmf8J912Vw3Jjk#IOW9|Sq%jqENT~9 z%i^$vgM)!XP?W<%+ibd7Rb*__HjP=ul+_T{8#w=+dj!#cU>v$-CJ#O z*M6qCj>*(Bvc_zz`LZWoYcAqHx5-=x$7NL7)ZW9J3;W(laXr9W2H&Yp%Ae`qnqIF^8j(nIo%dYn@fba-BzeH#=r& zZ@y%9X33&m8}&GJXURCaY+MlLu|kGj-)BXKK!c#Xt}DwaC9Cbz)|4Bw$eo)NeLPgO zfrX_*P-4SF2PO>(2L{*d5pEYSAT>>=%!kWrUIJSlzl5tn_ zzAW%(NsiX}B^xe#eToP*HJ)XYD0`$Rp-q8BsafUKkyWzV{28*3d-qxuI4C)>C?xVJ zHO^$N=H$9Cfl1}{+|N0>;l9cYiVdZDeLYGc9cyh~ZF>|ZX6pNa=kg+{v)Qj*CEvz! z#M#}_*VbqH@}a^nYGX&3*Ti*momE6Sl6#k|KBlGAyQX7Hpzq<<$7&qP(z1mIuJ+w~ zH9KrkkCK?gS*e=p@>4u4i>4?!GH`IrYjkCBWYkm;5ED^K;4>>=cqB06s76okGlkyV zOBV081f}uma6D+<@jy$SiQ9m0d6@-wZ}HUd$(PQ1t2?MEEj8#)W?)PZ+Ze`m-1V*C zin+l#C089@?)Z4GGV0X}Ztp;`z$Ka$+ZvzuUcX=Q+2pELucm+KnvGLemSy#XEot$X z+`zK^hH8v}d=r0z*8~BJ9}FBPWSSb%=ZW!hv^;3t$@yj`bwjFDI|7^=e zKQ>v}%)2J%qVjAM7X7<3m2pFayp%q}l^X_Y?-t0tIbzAz<(Mg}aD-)}qHl}K#7+}V z_UXs0I;R9)@i+7hS)=LO!C|7AyTw5J$P5vSLOD@og>LcmRz}f8?M@+QrAclRT$XTj z1}tP)6f`SxPHJ?q&}^OF*T=Gi(lXauq4)19zbqqINW4cfg9U4^aaOhU0;Dr{!#3h<$E?l#hskz=_ zOW|ztVwhmyZ7L+Z=*I$I>#oNyKP1@Lq<;FIci(DP>E|CG9{%{SP|fS}!Snwv<;VT~ zqaXD;Vh_g-g{{2THu4&+uN8VN#n{No$Y7$mSYWG)!yyS47SXOP!gE!*8n-&F|Pr{g8{s7zaw@Lhg2O1ZhFrU1A|L^_x zf1lLe{BusTe!6j)o$q76-EW(}U&~6i`>(zK>znES)KdR0TX{2j=@x~`XSa$3zUbU@ zetOhcS#Tm-LhFi*M!vv_N4RYQIQ9a)?k1TIA! zjbbhPan;014$$Ok zl$_AWpy0GrQ)9|bUcVU(!Mz(91rF5zy6U``!9irK>RV7|i5{)MlU zMOx(-&t%=S*gd2Fg`nLe)*o()EJ_LutgIa!44MTAX=08JcR8x~n-t`Z78U4ae!chS znf(1-|H`ht+Vp*$p8Dj6B{pkjdCg$7Z!1>dD0x3GZ)?=;+t1BwB%V&J1@dSSSHT2txk-L%=&+G{@;u2@Ao~;4L-BHakl>gd+ufqMMe(& z3f8U$brls`x%vCTr(OQ|;a4F^Sy8_rS@OEwO625%Mty@3s@y(N+JEVF#H_zF!@!EMc_02y|cu2gvYi+q>@%lVh2LY!Q z(w&RHtd+0-{JQ?j`>vBF4g!fx3L>nh6a<|F1RsWED{45eXclL46D)H%_48G8zg@-C z^Z#$>|NS*x-Edce;7M*P`58+;Es5G%i{3+okmx$JU%wDP2|WF*9)I_vNDLx@O8T$zjx!tJxmIUJ2(~y zA3y!p#5{18OQg``ODjBBq|((tZ`!7Jao38se?KnyG>;?lh*kEYC;tB~@4sL9Y30(Z zTRZl2B^~7O)izsu@!`MK_kV7_+g~?JZN^bI!42iEmg{qaO?xk1%!%6`ee&C}Uq3(J zejl^{jLIPI=}2_+y1pDo2CYlxuGG#ZQyw zNe5|N`nA38tu{x(TK&_J9E-o-`~TopaQJ15+fnyzYR#IjOmk<5oc}t_YL6B$=++TBAY(%li2t9 z)%Je={zV#mGLI~BRab^}akz$TSSauQdhU{`+vXg&@aytVpBbAql3rW%-HwbhJGWSC z&DS&M%oksj5a>2yn58bi+d})f`(a@vomI~c)_wf8`}?ub46UDEt}fsAVP|@1gGs*W zHcc&V3C_dkc5Ze%UjMb({C@5G#h;&_pYr+H%GLhUU2A^^eL1$fe3jah%vXE3^)jNT zT>iLE`mOBUI(v)wGpmpOHf(8VY1wk^Dx9alTuKaW7YPWTE_Th&GAt6dKM?LpnPv+D3bfb0i>A&BC)^FW( zEh<`WiRZ38dyHnD&%0MwV6^nuwRJ1Y&Mn*j>*)N*=(ykZ@xMRcGSj#DUvn?-X=P5f zKgaWPYmOF{lvup^7WMtz-G3jh#V+<0db)X$&gzrP*S%|5kbn1nI?Gq{fA{R?$lLGv zd9L5zk57T6HQ-w4qOV!&=P!*66gz(TX7%p&^>_FDz1BOsnx9W-%CxY}k00ikc=_zv zXENhTS=8>h{r6vQ5p}$l=lgu~)2ogQ@i%^b_+ii|{QQsg`~BsApT*_&mad!n>-6*K z%A(gpb(P-wT|ZJN;(GaHNoHncMOBhW%#M;wqs)EZzUHshDgV8tdVwE51u`I^P*&XTY#VT-+$5T@72Da`|!mEt><1ZH)*jxIP`cr zTeBT|{@#9(ys}@FlX%iE=VU&;@oUL-Zr883{xYw>{43#0!k=4L)#pV-$J<%Icz;sL)NI`U{d+<(Z~gmlJL&YDL4o&tdkz18kG@|jG*A2K zy}iHVK9m@-$}a7+lk?3|pZ{;E{+(GO<@^6OR|fVkTgu+C?fev-=6|Q!6j-nA-fqv5 znCp|g_Tr;GlLeL?KYsICTke~!pVRf$^Ip5O=KA|v3im6&H=jKCaP98npVj_+njUxM z4FC6Ut}h=q-+lY^UhC3xv#-B?STSvjk)-dv9|`BThc$&QSiZ(ba8kwdTT$jezx{pn zrDXm6*VneKdo@e*YS+Hvzw?xAbx+UI4Dl0Zn(_Kbif3KSlx-WX2_~N|W;oRF$nob1 zmCQA_XFq?p_v7A8bFze|x;lDnbmEdZ`tex8%av!}UDp0P!$-t*>ep1md+)w(+qJjp z@4qKMT9?nCcc%Q&4F#5PQT^EcbC0BLxT3w<$lE$pIniLkHKBza4sBOhDlEP`nmoCg zmpD_dvlDDqg{7xF#=e`giW$L$}@KW^bpI+D1smy#01&&5fwYi=Beu zzPzT>R{vD-?^!?9B7OFQto~bBtql>?VhXJdN_HF6Si5F4Z(w&guCRbnLV|E-7Mb8@FbAarS<;I~&Y-FD!Ic+TXh6I^FEm)q6LmKYx&8sNMZ* z@9yf>;9b45G)_fvUCA`O9T&Ulvm}SSkIl;|*{=mQ>73)WFu$(Gwv@4zgOSyK+E!1^ z1hxbf)sBuu9%3e~NvcI~E) zKXd!idk!=D;tv!5@NL?# zD8Tkpwb%~U0Nc-x-oIE9$|wJ=`tQvgGyU{l{-veTr@dQ@R-a<|In!8rZQk#_?2GqY zy_vV2y;ADA?AyHyYCc!%_wxB|XJ@{9(WN3Y`M3M^{By2f&)Eg8wQE%4I@F+XX5L>X zTZV`oIXw&=J%_mD3tcOoY+z(CD1Oku((~dM;sHxr-a5a0AF$jPy&L#}cW2g8CXObq{yykLquar2DhVg*J8 z*NX|d@7BI}`0(Yybu91KeAhV>H~YujYW2g3dw1_aZx$s7}2u!`^1Y;fl^0( zg9|?_nWB`y=E|U=p}?f0qth?d+YpfXe%7Xq9vy3!3fSCKd-<(;!6c5rm8WiVNB943 zkiS@AHcvPA+x6{dmu~&1aV6XJkF@=N)(rFQ-}>+GsQx{BecXE;-Sv5S3Af7U>Q3Fd zr@TQ#z_H?CnN_;@u9mO!Tx&K&X(qZcxgODxV`5i7qmwi@x+0fB;hOTKKoNc+r0SU+{KHh-`m}rKL1YKy$$D_(`6Um2o)7(Jf$qIZ=n2BfT4zi$-|?G zBT6vi%RTG&%D_33 zfkxNt$8$HonJ7{nwq&Z3SX!czLy+Sh4*{_>v1b-$QJDu74!ImrI#--yB3N<$9{Uk@ z@2G`7X_u4iz8^YQov5f(`c=G+nWg5#z1=FFQI*mRAD_&#yxYHJp3kw*KmU9_Z}aiU zv#Q82$HR`ctClb-SIQZmydGcuxb5D-r=QPNzh=rPl9|CEFvB?^Pl}ymfdLDfL-tw* z0Y>BQ4cv{*{0BKF1hp}&EuOctFwaVR)&V!yW*>c3mpAECg%2n+GAJdR1j-zjiVRq7 zVs!53$rn$~{X1NmvFT)^qR^$gWzP@ZYv#|t`)l|9Z%@0M=cRo)xOSZ$|E{%Rr)&Ox z4bKk=wAh^79myc*@?56aL1pQcq~FF9x83VvR^gg9F+lSyBkRn_m<0V54OSx8f&;w# zpS@{h%lx!+xt_uA{=E8%)a2Lc^J^d7m6rD@FyQ*Qw)x__hbtRyJm_?_{r6|O=gN;c zpB}cGcdgoU=5S8Mi@E-nA_NUt#O~Qzyn6C1XZ3cO7hVP0$=0A0G2hI8zsf9&7D5%+3>;x z`SGPyRp(sU>F0X-Pc3rO%lU zu$P!OulkMCmAC)vwny3T`Fnr=-(NRwS#));Dp**zVZVHK&BIem)6KR|+npP-!Cd;T zjh)5jy`Pue`+2ZGu7C51HFL|)WxIN;*t$wuT4KvZFI}7N13KNjFCSHzv&Y3d1>dvW ze`oGIzfWbi-s%?zoL((0Ubd~TzrVll-Tj@#^-)*+nlcJ{L%ozAoGOxEAeL+4kaMQS zE_~mN^L>1aZL-&|o26o@bN7Dbw=>4KPanScr@~G(F(L1%C5N4j?Z1ToAO0RbyuG}9 zaoD#XKfR^*`rVCNzI>lS)$jJFANRe~UmR8%8rJLmDC2_PtW6rLt%4`HCvjL;?z`m4 zKKb_3z2$WegVWEgTkCOnVqW^*r)BqQ|2#VSv&P2Cl4)XG`pZi@KZ|car@y`G!iQ_O zo_)wLnI*q^n$&b-`Bj@{uzc)Wdn@AZhRYkR?E)r7*_MAi@o7zoeqQSB=6i41-9In$ z^hw!r^74ww%e*puU%feY>*m&{HfQB--;(NI_THoJ-Aezr`~IxWuuDC%e0|)nyXWWq zzLe}e|E}k`?^n0JeY)PJ`r)mxUw>Mk?*IGf>S}F5tC% zF8jH4_3HUm|DGJbAM2$g)$ddFZRY9Mp4z*!YPVmOo%`l?+RMAI-`BjJouBIY@5s~R za_{8l%FM0%@$YL~dS$KU?#~atJ)H4-Z{Dn>%P&9Pv}V`#cJ{6}=YvSkc^NXA@!Mu9z z{eM5t$L-zY+_X2$`kGo`R>oca=UUm{!}M(nU-yQGuJGsY&zIfZd%o`D;rV<1{i`&Db=EKEUKW|~S2g->T$?I<)9Y<5bFn|3#E*|lruwAPv=iMX#@_pEw%_VoE2g};v7 zn4fuE-)`GR+ZSuU-|~N-Q~&b$yqj_ICZ*0E$1)fq-+eE0zpCv!>-k!peBN`hdp`f- zkE(p-@1Hkcr0AcNO#PPq|D(=|I;o$(+!njW$LU6Fr`p+*+Uxg!zjQi(UeB`C(sy@d zb@Ui0NxW{_Di)}i#k6!PBkSd#S1h{~&KS)-yQY{iMt09FyW)p}nF;q_mDC!l=T~N` z{`m0g%K9x)^KZV%(=QGG_4Y=FNWcmok)@e#OMcxwCtcou@BFn(CXCOPZhro3^1~O; zzJ}#5wY-xXTcx$Tm_IMR?W$;QvN@BZHh|Kk4~?cM#|Z};45pQ73u zKI?pc<2fWNH;z?4XZ4UYeWB|f)&4+0u=TM{ z^P($r9XpZ|D|Wl2Rqa{a!{WAd;+Bh^yBGHu1}<^8Pd7Di$ri>5-(Fo~*WZ8T zq;Tt%IqxnXO@F@oxcDx`+{bHXHEOCo{m?uAUgh_`6-Vtt9W0sxD;i) z*=gzv3)^Z(ktdP=zRi)3*t6@>OBE?6g-ffZt~BYp{3V+IRDMX{v?FuNmT&ZHxqUkO z@ZrbJuk*iN4|C_2Uvcl#V}Dz=-|NrDmReZNJ#$?BcWICI{tt(yX3xKu^L4U7mhY>F z_ZTyxqN6gsq-C;OQ*GDpU-hkjGRptiyE7GD%PXD3 z-IzP;>6_HgkDku2`>vm)`erRt-rU`9`tI4v$ThZnj!vIn`|G4}^xDfO9V4e7Qat;4 z(aP7$x_m@jKOWxe+*y-unYqV1>20pWyuRqSH!Q=a`A(SN61eE>vrEt1s&`KP&JtPs zYy1Ceug)d^d$I3^nGyu+Y`mAz?`+F6BF6q|GD-!Jn!!d>*c?HM+$8}ACt43_saLR>*QqQruZ)AIJIh) zsA_k3ms0K~3qAGEbJuRp{=0PU)?Akq_KluOi*L_86K!g*ezNmz&niTC{5Qv1+wXN=*z74cqk8AJ@%uSL?mR$0Z~GrqMy$-H4M%JrazZXm?y7v9rHT{}@)9?Sg{QuOM-p_WuuM9%%;^X7DUaKsdcx~;L z)V0AHg-3R&jC>c2A9r%8p)prM;o0vGz{v+^Mab%{ab=ozppgZm!SkJ=5j-{Ej$=-c)%O zrmempY|_@tHCB2mLFV%B_}UMbU9sA|b?VZz(&ExhR`0iEyDT~Je!iS*;in%{=N83H zO`ZGf?b)-TcVCrjc+E25Ruq`T&gin#w_x4%*YjlNe3@pxDQx>HZsD0elJYw?Z&@?- z(>2Tc6RJvn82bjlmY6EUv2Nzt_??$-?Xr-a-=lu{a@t{e+3maj{>+&-%V*1jT;YUZDKjwsM}%Gwr0oT$B#c- zrzMY3-L+X>`52R2156;I3A-t>oY=9o0t`*AxvJj&y#K z^O4bxn!~B+t$+Jisxjt2c$oI7q4je45 zSR#JWsg#B7%>Z64E^z+oy#oBJ(jy9m4ShQ!PC{xWt~$(695oSR$Tx9 literal 0 HcmV?d00001