!^Mu-jAu$X_vkOC@WTw#yX@$jW^<71_Gs=7K1d-s!@+-)$Ll)yKVx=2
z1-I)Z)f33Of`zH6o9#{lMGjarj>V~|OLSjVtfaf?ggLo8C_>n*@{n^!F6wMgJ3Hoz8hokrqui#h0f5WTz1Fta;-e4-;WF3Te;W*oa
zlWZSOu{ch%!+3|ij`!I21b@UC_7l#sUvQ4y!Fiz;XN5Xk5bE)<(2k43TLe$yQ{gl|
z7cStka0%nW9m4;_7s4d2i3+|JeYhb83Ezuv#9rJKqqt4kd@GLNmUtAm?bqoT@+f{U
ztuo5;6n#UKqk`Uvzg&zRq0bDP#(qYxg9%&EmB!vhPa6B%<)T*Hh}BpFkvtWoEz{eU
zegPHn5Gu(BeUFI;u@+TSZ$H)5!18-kPEp1>CZig()p(~6ma%>c0=tW@N#qDw=n9Tc
wB9x|eyX;8>)1;tFx(k~-iTMp=l@hHbhXOWWBSDG2Lm#7N@~4^pjtJ84Uj=J?F#rGn
diff --git a/Server/out/production/Server/Room.class b/Server/out/production/Server/Room.class
deleted file mode 100644
index 91a0473833a175e8c7f1dfb6f31d6cf59a421d9c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 5390
zcmd5=X?RrC8Gg^5J9B3y7mNXdkpv?~Ne03a5NTMHM52jdO+-SZI!rDwFwDeRWN9s}
zMN3Pyh}zAf7HK0Ettbg#6t#=Cw$^HET~OQF)?Hg|Z7sy$``tS;86fqc^-p;+XZg;z
zZ|7Vd>%DJ3fQbq|)ZnW!TqDD^GJH*j%`#l)M=iD(xZc1Gexhy>;EjHK9p5nUP1$@)
zuXza2YkB}b2H@Lz&0cP6$=kq9ehhXtGoyuNE-n;*lm
z#f#fy-tNcu@O>{jeDLCSFLrowhaW${PA~5C;x0k?p$vEXu?zPYxYxjLKgOWbk4kiT
zu}9{;GVII4edrc8_xq^b12XKF;Xywh!o$M!M?U-*Katf>4LljNGJ0z)OI5M^|oDgxortq?8Fqw*zW7$#1Q*$IV+dQUBCrO^8cWo>cO)98*g#n>d
zJWloJ+6IZl@G5IgN=_U2<9uQc>t-ItMc1j}XgE1tp`<)VP}-D?`V|Wlv%xm_gvM~x
znw?s;#ELfumqctA#6rQyf?zx>`!rBXQr?iGTGUC4VdU
z3rSG2VfKXVfE!q87sn$8>L@W3i6tyiO~F+zlKjC?$Vw#2#*G_CCzd;ESLCFNwuT28
ztnq^7%V5#lNtdlcJ
z92?m_hGz<9eik#Eu>Pi4Dju@x!V+VjxMPf@x`_+WXrdksCYmtc#5@_AaiNKss57w;
zs~Oo$#0J^bVW;|xcs#gP^4-KN%r@|ZiC^PMrfIsaOq_@Fh5jjp6Z**PJTE
zx|8KOiq2WGf^F^y-JM=Q-JR4p@@#D)X|YaDO!pp%)~s+OBIV86p+i08b#--8M5m=w
zEYnkt%}K!;ln5=i+ENi~MzSuv#%h}%OfvnL$VX*_-ANi6gv1q-9+&Plw0bVPaFR+}
zLFp}?V0*jW0xJ9IZxzQVk}!_?<4x9O
zDJvSXrsT*t0^Tpf;_~`q;eASZld()VoXkJcUMkcs)<>drNUlQZelG6Hb|$We=Hkpx
zMWfQerwEpju#&UwHtM#oLSBh|5s)gT-`Sau660jgl!`_4JEPJrfjQZ+pNi6(LEcA%
zW}~Clu;kct)mr}6vA%2}{opFNSI5JW3-0pP8rzOUYDvPraTN;7>-%vV<8!LbFG_|X
zhJ-fpk`6}Og7G#91^3KT?}bg5%xJ2uXZK9&nv0*tBQGx#qGoMU9u33Oe(Mjh!nt!>SBfLvW96h|GQV%k-V2jgYMM!@|5yq)j_y5Vct
z1Aiy-0=
zjK)@;?4Tca@_M=xb8#^_2FP(MIW8uJOZ$q8CYT<
zWS|YofJH}RDV8}t*EhjKuS46B_NHrEF%9(W--hin7gs%s8|}rYra;SX==!CM!96JH
z#&Ejkl!DSOoVphyI2N47VbpGv6`WphMi)j3sGI|-HCb11DDFa_3!}O)x*L@(-5Art
zP>g(x&U0TRfTFS+X-SyUDWimT<`T
zxHuRxcxCXpn!E5RVJ$q$T>0KERNsRsU6@*}i=b+Ek=x~ME^_N6cTe&R@f5k~)geW0
zuJj=uciV*K4IY~Dx-hZzD{_-%2fC~E4s>OqeOgoQ|F72WYJG!Cb@W~>vFS~T`m;vw
zpYEEZ57A4u;k?m9^eXX5HV$saK`i1=d@HWCJ=?FNH|X@#K9<|8T}=Jw)kd`m)6`~d
zx;6vTv^m;#tpn52<+mSWnf%R6>jf;ng&4->GJ=IUnuQZ%$*ji{xQVa5Tks_Az*8)*
z1-KW_;6Xfx$8Z2o<7K|XUQuV_Rn>^s)O@_IF2WmXG2T+k@s3JzUWa$pM!Zig-c#3b
z-i(9lO&roR^k`mus0~1`Hi$2|;Y!m2oX07*HeLC&8Oo#8;(%6<=d?MhKwGK?Yd3S=
zu8On{RjA#rhS{aQfvsabzdjdWIj!t)GX<$j4q;}$a}SidL=c#A^)lysu?B0MJY%n5&XSRI
zR?ppBX!afMv4MHEe0il10qf+pCGltQSwi??A+eSvcHeni#8=>RS>is)`p)AbUXRbG
ziKjT_!FSRri}?uZUp5^_wuYm)z4`*5Uy3GNnbl$v9~EMrDc8Gek=*aDk5k6Xy5Wmi
z9=SgJSmHh(ZopMpOI(hcfnkgOqwM}HVKUH?tNCQg1f$QN+VMqlBfi`Zu{sW7s{9o@
SWSej<=K}7>aF%~Vo#`XZ0=(-0
diff --git a/Server/out/production/Server/Server$1.class b/Server/out/production/Server/Server$1.class
deleted file mode 100644
index 3bd2f6c4cd0531511d9a90b693ec0b4496b6a28a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 2904
zcmZuz>2nih9Dd$5$!@|z({M--q)64Yw6=KGqNr^_DlHUJTEZbNn{B(0Zo+26;jMVz
z_kDw+;sqlqV;zSXzxfyV&A-6!&Nw4J@9w7E3Z3q|@B6!t=lx}W|M%x#0o;VMab&PV
zE+YxFU{t}*1ajDwKm@xL?2(7P2`IQvQuZZ~#r^WAE7-5Vh$9a(fdv?oobd$aV?yq%
z1PrHw797EZf{tncQzW!}|ULDXD>?p%+GU$CBrO
z7?GX?w0_$*o!)|8E}J|i0uRk=>A2ph*jzK7al{5lrNc%EYv7=9S^?pgDsHsc)v0}yb
zgqF<_+Uikfq*O}hr7{)#fCT1eUEMf1sF%E?y=ELITnG{c-NXVr#GJFmies1?Em^C1
ze%Y^=tzj)U*hZmPX2gT0J5kIlcv8bt=+e-R>ou%Fn}!Z_30&c|^3v!P9M|wPo{?hD
z3M>tah2z)o9G;g#FKBoXFKKuguV{D`udz_F$^uDGHB>_duWNV%Z%VDVG`x*>90v(NmIFE7-qRV
zRw)#YH5n|gYvxyJ_yQ*te5v6SzM}S>e3~?Tjc+uZ#cN)IO4;p^N8G(hf
z32ZoOm?hUL5?!ia?`DE0l;PI>2TX&gNX_bOuh_N^=LU~Bdu`~_H$pU(UEQJHf^pLg
zVTkExT4t~lVh~(QGnZvZ%s0?VxJgoY)=Zc~JLy?Fb2#4RkuTJvg&U*=3I|gxC|kv~3LTsD
z@&vCW18Ve=3llkRyqn$?cH^UAogcdAIG_Yp!=yPd${s6o;L>JMj+n(WjUM6*3XK=N
zR5ES$r#us$nBs8aBr*`g*k+z}AHP^Tw5AGzH#;
z#h3HXt|*RKD(D7%^o1p4W3%R=ifJ2WxHxm@m&PvxH;T5aTXuP~dF+2~Yn9z4kPDmz
zQ*92aXG;11X&vBe_BSomwOUD;Qawv2aBVo9n&*&0KoW@S`Mf_?7<{JoBhxa1CVmC9
zK%fi?UF#I;&v=42aE(z=eqP+j
zb&03kz|$=}QOPsONrzj}^YwAiaVOdFA&ZUYKRa|unp9S%GG7;Zh
zw{kh6npRUQQ%zN@>Q;jw(n=LqzlY2;R_EH=)})zsb9X$%yygPtr{h&zdkS6cvL3nm
z#;LS*m^YZVo`$m2S;QTA&LX|7#};&wFR
z4y?d>etz9WDD+?x2Cxl-7{ykUF~pzL?YO{?xZf~>-?0;aU>E+x9{h#9_#68KKMuuW
z7@`Gv(S~uMqexGa!bHi#!x%fg4GwNYH~mSA>*zH`okjG#9&uWH4tLVKLYpq`=1xVU
z7-B3Ecq>F7`mlkKuNLdEkyauSIRU*)bBX*ISsDge4_bS+|U_fCm_y-SM
s#027(FcfUzKX8%u>U=KHqcC?m9P;3`jRgRmW-*MLxl7PlhHw7;2f^mk`v3p{
diff --git a/Server/out/production/Server/Server.class b/Server/out/production/Server/Server.class
deleted file mode 100644
index dc4654ebf6480bec324da17d71b3649191a737a4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 3274
zcma)8`*#%O8GdGy%}gc(flUIGi)<*;WrNuS0}TW*A%F>PAhHn&m)c=>k__z5#F<$j
zMe4m(OSSgu{X$h*FRdVKqETx5V~>A@KlvYcPEXZ7-^^^XVX4Q>$v5BoeedOYuQUJt
z=Hu%Cy6~@hY{i&Z##Js8Dt-)8#z_@XnBw@9iaZJ`EZE{~QpN)+8sG@Rt%rxAjMFL_
zVJbKyo@a%gDFr`Ma8A$CmqC*!yE_#J+)q62>r2>+?y;OusnTIKdq-M!%JlIZdqu~Pa9cIUj^HS-TjQyW=a|-bPx>JB_3WfwFX
zk`8S0tS0A;Nmw6#joD5?_forc&ln-S*C##05ejygmg()JRAS>H3AO!pjxZY2
zre*9e7ETz>h<+l^lUUl$>iI*uV+uMvto0^Ly45glcxBxZniCtV5lc{WM&9rYfm}jM
zqMF4wpY_ehs&5%Y*V7$_S@n#;8tBrZjHhQ$F}6NRR)B;h;|3E)
z_l5bu#oENiqq`(XCjSQ|L#pzU=wP}Ntk+VE2Gjs}u
z*gQj-bDm?f;8;_^;TOvdrJ(G{=EHob8N29YjlHIbenXJlb|Iso2Rk&}iCzsOxK~3z
zb~6xF>NNCWmyDM*yo^_5ysF_fysqI5Tx6O>95nnHyEVLti!$EQ@HQ^7hJ7^^wYIBh
z=5vO_ARX247yMPjAoj6rj>p4H#@(VHqp@N>KNSy>oYU|Q_Q`lx!+S_G-M-cv8$%#}
zU&A(Rm$2!0Ja94YXW7WL#s`Pvo!wj7H+OAm-?p{At2;h?;NVESyJJhIhQHzOboqEZ
zD1-PJ)0+_dGCt678CPU{sNt%>*$~g#?AfeGjVyzC??xsZL(ehgf!Xy`+K+2uDQP$$
zBHA?1yytAznDk8Bk}<7e1|Ka@6*Q%ck2TEV6QSZ$4cGAxs+i(0H8hmU<>CVa+Y5#5
zuB+iQ{F4C;>@HAr;KWHHEhoY6T)*q)d#lE>&q!ER?yzbWmj5~*_jmR^%?Bev!nUvz
zeSXndwxj1$BjKjcPp$3r+_a@@*!L1PRQ7V+w$yGXSyL1&wGYM3+6V~`EKAO@B`IcZqT+-;S1!@*b$Gpt_&u_0karC`Mk;WW=lSDXj4
zbij7K{d$4XSv@x|s^**kxV$n12aA>^W^<3YSv+67L%KIXUmV@aiP6hB&*E+ktTP1J
z3EgqUE6XE;?&SIdn&6dtGxzsp`Ug23SBB;*_(MK=vNmya*Z;p4Xd2jro^D$1-Nw`n
z!@pcGM_3>B*s$*LwZsf`S9-QEx!+mYJ$&hJxy*|Q_HtcJHt24>(4sz#7861B&J{p=S$T2T;~~&6{Abny3_c`FMV4|UnUsf9RD^jIwA)fm^xr1U1~!+QcQd&4BU<)
z9>7^RJe%G3TYV`ddXL6==B%$S|s_{67>@$U316k
zw(A$s#WkA0h-Gc7XYiwDBu+IWnSJKDkxOU_k2dkBT^v0gkuH7v`7Am{+peH<8k>hi
z0ymX#`wLK5UNz}9Q3ioCN!BAU#m~-jSj3Os7CeLm9z!?jo&3bzho_0`0*>HW-=QS)
zDYMcK;XXe%$3lmqq=#^rKI~&zjxv`K2q&8n{Ti~2BT~HaKZyPpt7IHqqTm>ghyJGc
z6d{fZXaZPJ=|O!qR8)8rKM@s9;rsE^D&eb$d_Q3wCvGAveGg$M$j%jKs}Gu4jCIXm
b%ZHFf%~!ToGabqK?ih@w=zG2-`Q-0^1c?TT
diff --git a/Server/out/production/Server/Vector3.class b/Server/out/production/Server/Vector3.class
deleted file mode 100644
index f77b642e863c42d38c10bf27054f7747cc35ebfb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 466
zcmYjN%}T>y5S&fYr1{a-TI;_eRcLe2gWeP`LQX{wO2A`UgQmm=Vk_FG(nBdI_y9hX
zIA6@c!_Mq(W@q^F{qyk!-~_u4EUen7U`@fgf(;9s4tdMMwm@E30qd1D6_{tqC>fu#
z=>$R04F$$Ub{7k3y<`+$P9FPleiQXmZW_I85T#+1Cu%O2#`qz564<>k9*nd6_>>0I
zIL`!br~7Z|TxXMf5C@5J@=EdHFnW$Wc-Zk!h3&yn;KCMIr9^#Q5Y(0OD2+z threads = new ArrayList<>();
-
- private int playerCount = 0;
-
- private int currentPlayer = 0;
-
- private long timeOut = 0;
- private Timer t;
-
- public Room(String roomCode, Server server)
- {
- timeOut = System.currentTimeMillis();
-
- this.roomCode = roomCode;
- startPositions = new Vector3[4];
-
- startPositions[0] = new Vector3(96, 1, 126);
- startPositions[1] = new Vector3(92, 1, 126);
- startPositions[2] = new Vector3(96, 1, 128);
- startPositions[3] = new Vector3(92, 1, 128);
-
- this.server = server;
-
- try
- {
- t = new Timer();
- TimerTask tt = new TimerTask()
- {
- @Override
- public void run()
- {
- try
- {
- for (int p = 0; p < players.length; p++)
- {
- if (players[p] != null)
- {
- if (System.currentTimeMillis() - players[p].lastTimeSendTimeOutCheck > 30000 && players[p].lastTimeSendTimeOutCheck != -1)
- {
- server.deleteRoom(roomCode);
- }
-
- players[p].output.write(new byte[]{126, 0, 0, 0, 0, 0, 0, 0, 0, 0});
- }
- }
- } catch (Exception e)
- {
-
- }
-
- if (System.currentTimeMillis() - timeOut > 600000)
- {
- System.out.println("[" + Server.getDateTime() + "] Room " + roomCode + " closed due to timeout!");
- server.deleteRoom(roomCode);
- }
- }
- };
-
- t.scheduleAtFixedRate(tt, 0, 10000);
- } catch (Exception e)
- {
- }
- }
-
- public void addClient(Client client)
- {
- timeOut = System.currentTimeMillis();
-
- for (int i = 0; i < players.length; i++)
- {
- if (players[i] == null)
- {
- players[i] = client;
- playerCount++;
-
- System.out.println("[" + Server.getDateTime() + "] " + client.name.replace(" ", "") + " joined room " + roomCode + " successfully as player " + i);
-
- Thread t = new Thread(new Runnable()
- {
- @Override
- public void run()
- {
- int player = playerCount - 1;
-
- DataInputStream input = null;
- try
- {
- input = new DataInputStream(players[player].socket.getInputStream());
- } catch (IOException e)
- {
- throw new RuntimeException(e);
- }
-
- while (true)
- {
- try
- {
- byte[] readData = new byte[10];
-
- input.read(readData);
-
- timeOut = System.currentTimeMillis();
-
-
- /*
- ----------------------------------------
- ----------------------------------------
- ----------------------------------------
- HERE IS THE ROOM / GAME LOGIC
- ----------------------------------------
- ----------------------------------------
- ----------------------------------------
- */
- switch (readData[0])
- {
-
- //spieler hat gewürfelt
- //1 x, x = zahl
- case 3:
- for (int i = 0; i < players.length; i++)
- {
- if (i != player)
- {
- players[i].output.write(new byte[]{3, (byte) player, readData[1], 0, 0, 0, 0, 0, 0, 0});
- }
- }
- break;
- //pfeil wurde ausgewählt
- //1 x, x = idx
- case 4:
- for (int i = 0; i < players.length; i++)
- {
- if (i != player)
- {
- players[i].output.write(new byte[]{4, (byte) player, readData[1], 0, 0, 0, 0, 0, 0, 0});
- }
- }
- break;
-
- //Spieler ist fertig mit seinem Zug
- //1 x, x = next player
- case 5:
- currentPlayer++;
- if (currentPlayer >= players.length)
- {
- currentPlayer = 0;
- }
- for (int i = 0; i < players.length; i++)
- {
- players[i].output.write(new byte[]{2, (byte) currentPlayer, 0, 0, 0, 0, 0, 0, 0, 0});
- }
- break;
-
- //Es wurde auf ein CoinField getreten (Rot oder Blau)
- //1 x, x = player; 2 y, y = Loose or Get
- case 6:
- for (int i = 0; i < players.length; i++)
- {
- if (i != player)
- {
- players[i].output.write(new byte[]{6, (byte)player, readData[1], 0, 0, 0, 0, 0, 0, 0});
- }
- }
- break;
-
- //Eventstop (ItemShop, BuyStar, ...) ist fertig
- //1 x, x = player
- case 7:
- for (int i = 0; i < players.length; i++)
- {
- players[i].output.write(new byte[]{7, (byte)player, 0, 0, 0, 0, 0, 0, 0, 0});
- }
- break;
- //Spieler hat einen Stern gekauft
- case 8:
- for (int i = 0; i < players.length; i++)
- {
- if (i != player)
- {
- players[i].output.write(new byte[]{8, (byte)player, 0, 0, 0, 0, 0, 0, 0, 0});
- }
- }
- break;
-
- //Spieler hat ein Item Gekauft
- //1 x, x = player; 2 y, y = Item.Type (byte)
- case 9:
- for (int i = 0; i < players.length; i++)
- {
- if (i != player)
- {
- players[i].output.write(new byte[]{9, (byte)player, readData[1], 0, 0, 0, 0, 0, 0, 0});
- }
- }
- break;
- case 126:
- players[player].lastTimeSendTimeOutCheck = System.currentTimeMillis();
- break;
- }
-
- } catch (IOException e)
- {
- server.deleteRoom(roomCode);
- }
- }
- }
- });
- t.setName("Thread Player: " + (playerCount - 1));
- t.start();
- threads.add(t);
- break;
- }
- }
-
- //Make clients add all players to the world
- if (playerCount == players.length)
- {
- for (int j = 0; j < players.length; j++)
- {
- for (int k = 0; k < players.length; k++)
- {
- //0 1 create new player
- //1 0 no playable player
- //1 1 playable character
- //2-3-4 default pos
- //5 player index
- if (j == k)
- {
- try
- {
- players[j].output.write(new byte[]{1, 1, (byte) startPositions[k].x, (byte) startPositions[k].y, (byte) startPositions[k].z, (byte) k, 0, 0, 0, 0});
- byte[] name = players[k].name.substring(0, 8).getBytes(StandardCharsets.US_ASCII);
- byte[] send = new byte[10];
- send[0] = 5;
- send[1] = (byte) k;
-
- for (int i = 2; i < send.length; i++)
- {
- send[i] = name[i - 2];
- }
-
- players[j].output.write(send);
- } catch (IOException e)
- {
-
- }
- } else
- {
- try
- {
- players[j].output.write(new byte[]{1, 0, (byte) startPositions[k].x, (byte) startPositions[k].y, (byte) startPositions[k].z, (byte) k, 0, 0, 0, 0});
- byte[] name = players[k].name.substring(0, 8).getBytes(StandardCharsets.US_ASCII);
- byte[] send = new byte[10];
- send[0] = 5;
- send[1] = (byte) k;
-
- for (int i = 2; i < send.length; i++)
- {
- send[i] = name[i - 2];
- }
-
- players[j].output.write(send);
- } catch (IOException e)
- {
-
- }
- }
- }
- }
-
- //0 2, activate a player
- //1 x, x = idx
- try
- {
- for (Client c : players)
- {
- c.output.write(new byte[]{2, 0, 0, 0, 0, 0, 0, 0, 0, 0});
- }
- } catch (IOException e)
- {
-
- }
- }
- }
-
- public void closeRoom()
- {
- try
- {
-
- if (players[0] != null)
- {
- players[0].output.write(new byte[]{127, 0, 0, 0, 0, 0, 0, 0, 0, 0});
- }
-
- } catch (Exception ex)
- {
- }
-
- try
- {
- if (players[1] != null)
- {
- players[1].output.write(new byte[]{127, 0, 0, 0, 0, 0, 0, 0, 0, 0});
- }
-
- } catch (Exception ex)
- {
- }
-
- try
- {
- if (players[2] != null)
- {
- players[2].output.write(new byte[]{127, 0, 0, 0, 0, 0, 0, 0, 0, 0});
- }
-
- } catch (Exception ex)
- {
- }
-
- try
- {
- if (players[3] != null)
- {
- players[3].output.write(new byte[]{127, 0, 0, 0, 0, 0, 0, 0, 0, 0});
- }
-
- } catch (Exception ex)
- {
- }
-
-
- for (int i = 0; i < threads.size(); i++)
- {
- try
- {
- threads.get(i).interrupt();
- } catch (Exception e)
- {
- }
- }
-
- try
- {
- t.cancel();
- } catch (Exception e)
- {
- }
- }
-}
diff --git a/Server/src/Server.java b/Server/src/Server.java
deleted file mode 100644
index b7f7085..0000000
--- a/Server/src/Server.java
+++ /dev/null
@@ -1,145 +0,0 @@
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-import java.net.ServerSocket;
-import java.net.Socket;
-import java.nio.charset.StandardCharsets;
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
-import java.util.HashMap;
-
-public class Server
-{
- private ServerSocket serverSocket;
- private HashMap rooms = new HashMap<>();
-
- //hier ArrayList für public rooms
-
- private final Server server = this;
-
- private static DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
-
- public static String getDateTime()
- {
- return dtf.format(LocalDateTime.now());
- }
-
- public void deleteRoom(String code)
- {
- rooms.get(code).closeRoom();
- rooms.remove(code);
-
-
- System.out.println("[" + getDateTime() + "] Room" + code + " successfully deleted");
- }
-
- public void start()
- {
-
- try
- {
- serverSocket = new ServerSocket(8051);
-
- System.out.println("[" + getDateTime() + "] Server started! IP 185.245.96.48 PORT 8051");
-
- while(true)
- {
- Socket tempClient = serverSocket.accept();
-
- System.out.println("[" + getDateTime() + "] Client with IP " + tempClient.getInetAddress().getHostName() + " connected!");
-
- new Thread(new Runnable()
- {
- @Override
- public void run()
- {
- Socket client = tempClient;
-
- try
- {
- DataInputStream input = new DataInputStream(client.getInputStream());
- DataOutputStream output = new DataOutputStream(client.getOutputStream());
- byte[] readData = new byte[10];
-
- input.read(readData);
-
- switch(readData[0])
- {
- //hier case 3 für public match making
- //dsfjlksdfjlöasdfjlsdkjflksdjflksdjflksdjflksdjflksdjflksdjflkjsdlkfjsdlkfsdjlkfsdlkfjsdlkfjsdlkfjlsdkfjlsdkjfldksjfjlk
- //fsjfklsdjflksdjflsdjflksdjflksdfjlksdjflksdjflksdjflksdjflksdjflksdjflksdjflksdjflksdjflsdkjflksdjflksdjflksdjflksdjf
-
- //schleife um zu checken ob ein offener room existiert (Liste)
- //ansonsten einen neuen room erstellen und zur liste inhzufügen
-
- case 2:
- byte[] code = generateRoomCode();
- output.write(code);
-
- Room room = new Room(new String(code, StandardCharsets.US_ASCII), server);
- rooms.put(new String(code, StandardCharsets.US_ASCII), room);
-
- System.out.println("[" + getDateTime() + "] Room " + new String(code, StandardCharsets.US_ASCII) + " successfully created!");
- break;
- case 1:
-
- input.read(readData);
-
- String roomCode = new String(readData, StandardCharsets.US_ASCII);
-
- input.read(readData);
-
- String name = new String(readData, StandardCharsets.US_ASCII);
- name = name.replace("?", " ");
-
- if(rooms.containsKey(roomCode))
- {
- Client client1 = new Client(output, input, client, name);
-
- rooms.get(roomCode).addClient(client1);
- }
- else
- {
- output.write(new byte[]{127, 0, 0, 0, 0, 0, 0, 0, 0, 0});
- }
-
- break;
- }
-
- } catch (Exception e){
-
- }
- }
- }).start();
- }
- }
- catch(Exception e){}
- }
-
- private byte[] generateRoomCode()
- {
- byte[] code = new byte[10];
-
- for(int i = 0; i < code.length; i++)
- {
- if(i < code.length / 2)
- {
- code[i] = (byte)(Math.random() * 8 + 49);
- }
- else
- {
- code[i] = (byte)(Math.random() * 25 + 97);
- }
- }
-
- String roomCode = new String(code, StandardCharsets.US_ASCII);
-
- //avoide double codes (just in case^^)
- if(rooms.containsKey(roomCode))
- {
- code = generateRoomCode();
- }
-
- return code;
- }
-}
diff --git a/Server/src/Vector3.java b/Server/src/Vector3.java
deleted file mode 100644
index 89578f8..0000000
--- a/Server/src/Vector3.java
+++ /dev/null
@@ -1,16 +0,0 @@
-public class Vector3
-{
- public float x, y, z;
-
- public Vector3(float x, float y, float z)
- {
- this.x = x;
- this.y = y;
- this.z = z;
- }
-
- public static Vector3 zero()
- {
- return new Vector3(0, 0, 0);
- }
-}