From 160fce0484fae196c023a75d7ee0a212a1943010 Mon Sep 17 00:00:00 2001 From: steev Date: Sun, 14 Jan 2024 21:13:03 +0100 Subject: [PATCH] fixed variable errors --- .../Game/__pycache__/Player.cpython-311.pyc | Bin 3460 -> 3460 bytes Game Server/Classes/System/GameManager.py | 12 ++++---- .../Classes/System/Network/NetworkManger.py | 14 ++++----- .../__pycache__/EventHandler.cpython-311.pyc | Bin 2223 -> 1722 bytes .../__pycache__/EventHandler.cpython-312.pyc | Bin 1870 -> 1503 bytes .../__pycache__/NetworkManger.cpython-311.pyc | Bin 9809 -> 11033 bytes .../__pycache__/NetworkManger.cpython-312.pyc | Bin 6666 -> 10000 bytes .../__pycache__/GameManager.cpython-311.pyc | Bin 4017 -> 4486 bytes .../__pycache__/GameManager.cpython-312.pyc | Bin 3461 -> 4142 bytes .../System/__pycache__/Logger.cpython-311.pyc | Bin 1309 -> 1309 bytes .../System/__pycache__/Logger.cpython-312.pyc | Bin 0 -> 1149 bytes .../__pycache__/PlayerManager.cpython-311.pyc | Bin 1987 -> 1981 bytes .../System/__pycache__/Server.cpython-311.pyc | Bin 2529 -> 2529 bytes .../System/__pycache__/Server.cpython-312.pyc | Bin 1666 -> 2281 bytes .../System/__pycache__/World.cpython-311.pyc | Bin 1183 -> 1183 bytes Game Server/log/sokyhrdv.log | 29 ++++++++++++++++++ 16 files changed, 42 insertions(+), 13 deletions(-) create mode 100644 Game Server/Classes/System/__pycache__/Logger.cpython-312.pyc create mode 100644 Game Server/log/sokyhrdv.log diff --git a/Game Server/Classes/Game/__pycache__/Player.cpython-311.pyc b/Game Server/Classes/Game/__pycache__/Player.cpython-311.pyc index 7b50bcdc1cfd2fc2b41c2e2dec3e053e58851e0d..85b3540e101df279ef58c7425e4ca85cd250e80e 100644 GIT binary patch delta 27 hcmZpXZjt6*&dbZi00e6G^EPtdVPXv4{DNr?7XVp52T1?` delta 27 hcmZpXZjt6*&dbZi00iF@=WOJ@!^Bv;`32J)E&yY}2pIqX diff --git a/Game Server/Classes/System/GameManager.py b/Game Server/Classes/System/GameManager.py index 9347fc2..a4927b2 100644 --- a/Game Server/Classes/System/GameManager.py +++ b/Game Server/Classes/System/GameManager.py @@ -66,7 +66,7 @@ class GameManager: tcpSocket.send(json.dumps(payload).encode()) except Exception as e: - print(f"failed to start game due to error: {e}") + self.logger.error(f"failed to start game due to error: {e}") break # handles notifying all players that the game starts pass @@ -88,16 +88,16 @@ class GameManager: # returns the new dict in which the new player now is added def addPlayers(self, player:Player, socket:socket, clientAddr) -> dict: - self.__gameManager.getLogger().info(f"creating user with id: {player.getID}") + self.logger.info(f"creating user with id: {player.getID}") self.__players[clientAddr] = { - player: player, - socket:socket + "player": player, + "socket":socket } - self.__gameManager.getLogger().info(f"new length of user dictionary: {len(self.__players)}") + self.logger.info(f"new length of user dictionary: {len(self.__players)}") # counts participating players and starts the game if enough have joined if len(self.__players) == 2: - self.__gameManager.getLogger().info("2 players have join game starts") + self.logger.info("2 players have join game starts") self.startGame(socket) return self.__players \ No newline at end of file diff --git a/Game Server/Classes/System/Network/NetworkManger.py b/Game Server/Classes/System/Network/NetworkManger.py index 9cb2b78..ab950bf 100644 --- a/Game Server/Classes/System/Network/NetworkManger.py +++ b/Game Server/Classes/System/Network/NetworkManger.py @@ -6,7 +6,7 @@ import threading from Classes.Game.Player import Player from Classes.System.GameManager import GameManager -from Classes.System.Network.EventHandler import UDPEventHandler, TCPEventHandler +from Classes.System.Network.EventHandler import TCPEventHandler from Classes.System.World import World class NetworkManager: @@ -84,16 +84,16 @@ class NetworkManager: # if enough users for a round are connected the server has to start the game if user not in self.__gameManager.getPlayers(): if messageJson["event"] == "login": - self.logger.__gameManager.getLogger().info("user logging in") - self.logger.__gameManager.getLogger().info("task passed off to gameManager") + self.__gameManager.getLogger().info("user logging in") + self.__gameManager.getLogger().info("task passed off to gameManager") user = self.__gameManager.addPlayers(Player(messageJson["username"], messageJson["deck"]), client_socket, client_address) self.__gameManager.getLogger().info(f"connected users {len(self.__gameManager.getPlayers())}") self.__gameManager.getLogger().info(f"confirming login for user") self.send({ "event":"loginresponse", - "id": user["player"].getID(), - }) + "id": user[client_address]["player"].getID(), + }, client_address) self.__eventHandler[client_address].handleTCPEvents(messageJson, self.__gameManager, client_address) self.__gameManager.getLogger().info(f"Received message from {client_address}: {message}") @@ -109,8 +109,8 @@ class NetworkManager: except json.JSONDecodeError as e: self.__gameManager.getLogger().error(f"JSON decoding error receiving data from {client_address}: {e}") - except Exception as e: - self.__gameManager.getLogger().error(f"Error receiving data from {client_address}: {e}") + # except Exception as e: + # self.__gameManager.getLogger().error(f"UknownError receiving data from {client_address} due to error: {e}") def broadcast(self, payload:dict): for user in self.__gameManager.getPlayers().values(): diff --git a/Game Server/Classes/System/Network/__pycache__/EventHandler.cpython-311.pyc b/Game Server/Classes/System/Network/__pycache__/EventHandler.cpython-311.pyc index 207f7952affea3f1633f8903f9037ccba040250d..5a17f8e6f151ab204bfcba933c1fbe83db5e446b 100644 GIT binary patch delta 773 zcmZ24xQmx>IWI340}zV1i{pq1ABV1wgf!Ace7paW=zTre#3c)o>Mz z3^j}?Op~k4F_Be zFPaP|Ooo#og#j2!Tz*yjnR&_ixw)Bn>8WL@c_j*yIheC8G?{L3rl*$pZ($+MWP>Nfzn4GcFpgs*eRUgD6w z$RU4)L;gC4$|Vk!3#xV-N`V9rUF5L8!eM`b!~O=hzy$FgyBX1!xHT?tYuw-wxWOwl z!MrDKM%5)=%?rGmNFp_tc(pI^YU33#ue-#ndx2LMq3D9V@g-j43%th2LME4ZO)l`7 zfP^@BI#`PMCg-y_it~be2l7vm43JpKP{apf^GrU);;k>h%DX}O0|Su4NkEjd1NCTf zOm1LLR8|COhnN9m{o=66%}*)KNwq6d1#&@&rnqb}Cx@r0I3v(dOyVO*>D5A@ejL~?*w8N{MWomBGwqGPS1MCL=^-DMoK!iL*rn{MDfkwfF_ z9`~s?ol$n$bTGLM${}H-p-|FLw+PdiPL;c0r7F`}D%GCq4TI{;1l<5VM@?8Y7nL5Z zKYY+xpt`JN#>$~9IZPr-$LyvcwCu68???#s6w1al&ID1Q(c&Z6ffb}QyAP&fA`N}i> zFKcNap9$DVRCscneJ`N|BC~-1fB^98AO{QYZ*kJA*&h0m?1YZ zh&e+pXOP?su``I3AbB7#lCBmR3=cob1L-`r?s6Jgo4tOl&3(nXGkq-#U9TfOim@K^ zG`hIvh3&o@vInge^Frydkk~eR0UQ%Y<4aP}c@dJt7f@UP5#?M;ITJ!)e#_9fjpovK zl8nj0iM^FXowBr=aVWuC;wKPrl!f^h?>@hG^mthKXiV(h4q5big7$f9QQ)jHUp$8z z3cO_E8xRL4exv!tfsW6g`r=qujH^d2*q(7UE3A@Xzgiv>=*|`KqPSG54&lzQO>TiW zzYbB287-aaP=8FUlE+nO>wdNhWh{=fL#I_prbzO~OX?r4J-e3Y)gg`-9xBl_?6jDQ zScv3Q0;fs{DAT>Sl-a_paD0d_A?0K?QpHdKE6y}ALExvOPUN!k#474B|EJY2#rI@A z;CrH``JPzCb(me?DFEM3GK_x!Hok(Qj6#NY1vNaOm_;{G%MeILgrW?8Q3vsV2=odr z&KW#16(rDU5pxGuspMmtFHDPh6$^Ydt|uJR7hO(}xXeq3>6cK35?#tT$ZsPz;NAE( z$cWNWzP0YgckUj)34VA~;ujEOO;MB)u@B^LM6M6g&xqU}q@Taj4&XmF7ZnKlw0MoS UH^;!O9QvIWuhI7A3_xb>KY7dp*8l(j diff --git a/Game Server/Classes/System/Network/__pycache__/EventHandler.cpython-312.pyc b/Game Server/Classes/System/Network/__pycache__/EventHandler.cpython-312.pyc index f242cf5827e6315f098a2b124c5d058f4eb4bc07..fc97bd5e938289e59a673294dae3d6d2b004b7fe 100644 GIT binary patch delta 673 zcmX@dcb}W@G%qg~0}zx|fBE(ow#p=NdSy2VSVr*E%*s+LlU=ia4i!p*M*5vZ5;?K-W&d<%w%u7!#OU)}$ zxWx*lZ*d0XO#Z-X0oc^0pvC?+~5$t&LMk|L-sO<{B;hMiySHo>Nk{bNWY+JcZI|L z2DiWj@lLxL(U-V2Ztw_vkYeEE{UFJ}Cp^KtGj2xJC0J`)iShzP?ZHOWUEYYY-*0|~Rjg-tH;ngE4waPSoIOm7X}~&5oHHTX>v@S!Ir432vP-63S|A_ ju*uC&Da}c>D^dk=LCK+5da@$B7_T@Z?;#971M_B{eNCsgO{N zNL+Mf!z>yQx)h2F`#%Jc2ofU2g}9GKEV%OCNkVEeFz20f?)$p;-EW?cUhfCaF93eA z+ehZ2T=hoS!|LpE!~rW{xGG?%?;I2cNU24pxvM*0*s-<3-mtdyoz2B5BH`bb5e}gU z!h_@(G+B%wX)5M3GglA+>$MbS+FPWjgs@I%jN| zqB)@tIJ&-T>^#`cWX*zb(`f5m_nq()^pOdF_qtU3~w2CfYiVWBil(o4zM@U3+=wOVd5tEqHQZLWFh@ z2>9|I|H0V)QteUQ6K{<88+`QO#{T14sm`^&EZ6qxJki&K@_C)l^`oDr=j(j_yk4mD z1=KAGyw~mGuWG6o!}A5*L{OB%09BFRS)UO~ej{w#-E zGE-)18!c?lnUh4DhPKnI1Ujus>om8usHE5JEzY$zM*ga|o^BhvTjr8Tpk(;xFC(-h f#@JWjrw}`ZYd;`%=2RK~2?%GwAPf8g1p9!06&TW0 diff --git a/Game Server/Classes/System/Network/__pycache__/NetworkManger.cpython-311.pyc b/Game Server/Classes/System/Network/__pycache__/NetworkManger.cpython-311.pyc index 769b27dcae9ff8cdc045a20315be639cc41b4458..30891a1551b0befa9d92e05566305b1eb0cd89b0 100644 GIT binary patch delta 3423 zcmZ`*Yiv`=6~5Qk@7QtT_?6g6oH%h}9tj~ENJ7{=AxoAfgplkmOMqM7o8aKs>D-$K z!C)$}T44V`2dQ+oE5ZuxQkAOgMylFBl`2>XwUpY?l@i>C_`|>cFe*RLN~`vq>%7>) zX#DxinVBJGq!0dLB>yX`)yzOiR^Aq0lw8aAuyfaH25MPGU<6$>Z_;wq!ZI4B zml5703>%5agGOe`P~JA#dl>nquOdPU#TUWomA zffpy^v5ZcVc_N3j8LcEn$4C(lb|5$bBrSj+%6G%vt;dEXkx0je7Bz-N)^!J#{yCFi zCSXLaTxChq;$Mu-Ed9E$f%fOSin)a5Gv;&6mn`fQez^kQqoq3YHG?jp#a>!o{&`z>JQfqfvMBgxBl0PKNJHFUBctWXxHR9SZafkj_lKhq zF(&&@@i8GP62E+kh`it*i<7k;UiR~XKtxIM)2h5Zhf2T-$wyOqJ{%UOecI8WI2uxFeff-*TSt-=Op$wSwIE}yT($(4EWxy;R2#rM84Vq1iAh6l}=3n_nUn{!)|Byc*gpMp+>}QQ&0l^rvPAy<9ME zvSVloMF}ls?T)(G3ivCyvH6L0-+|}Ooiiqk6By2F5gc@HVGHX3Q%)1BnsI*4VH9%4 z^G5oc!lu2{rKgLI*U_qD`{c_wd&b@Gdghw2qdG6 z#>XSEd7Ek!WN4t7`7)W8PJEI?+>;JAz?BGBIzT`dc_3DQzV3)C`0tRQYCC3?Y8rmsik zc6!rMJc?``6EZsBsRKPKJ7sJ+{yWlrXdix!M0_}W2inw$gv8<*Ti?(?e~;?PeT2kG z$VBkYWUM&?Jt4)>QKXSto&L(**rO5WND~N>2>|neT8K(=b+pe}?(M){9@4}*(`~n& zWwV-Xg=gtS=TK!C{i8RNFMvv}Z=~%%uLWzJ!wH&;$x*#^YOfO9?bB2RfDl z9qB-q66i{~yVCBi6>o51R`J%~+r8v%O?z8ce164Ox9n?P@-?S@t%|R8+1I}0Yfp6y zrhSK#itljBclgbNPNsdl;^R|3ekD+|zTmg6hk2tf(ZlgM$hXOp;ufxBX8W{v9xbg@r|Z@qcHd8flm*t)b3shZn^We z5^Vi_vl8rC4)!et`_jRKO7LJ-$JLZ&83aA!uX}FbO6y-R0H6ajvD5reY&oj^PwCS!Nx!)tP`{m`ylF|5eTxs8fHePL;z`q=*jqU3yG=VI6v! zCjFmSKY(UPM{pDgQ+GveNIf$3)hnP{I=p< zwtM}}NWwT1zaqm)XQYf)oQudIF2}HXDKZ|Lp3LaR2;_~8dx29TbSO~8UZ!(__xtb@ z`hk`|#ExSKqX_DDPoQ)hVZ)ITZ1M=}ej`R~8fi&YNrS}dwq%*t<8xL2Vsq~VN5!h4 z3e^-^3FVVcG&YW)W|JsN74%8fsh*6ZJBk@msv9~Z$>L<)dvOvKh#p6%TX=O_-x=E` x+9ovaxCr+F}6EebLpiLoAXwrtXln_!1SbndGiS1;Gr#kj;%+*fRQlb#Wnsw&n z37Has>?Mly5>agL2!y=Pe-)Z=o%(&;BN*<3yGQrTt9gB2Dz9W!_TeWdtqo3YV~Cl& z&ScK94G4Acv=pUon3Iy!1Aml)F)xZ65E?mX77h_kKO7v~cI2R@GVO@A^qsUs=@7ha z_u8ZyQXnTN+>AFvox`>Cja{OGBEpE{6t%z?jsYq`q;^xpI`X1>a3-Hu)4Hle7Bc!& zBq1KqaX&pioA%=Pz zQ`2f@US;hlibJ=vnRdX4b6Dy`K^vTPc5m263Hdd-?rA)|ah15_Kv|ICOXmW;0f*&w zi=AxghmYkDAO2GwlLKUfuWHu}J6+9tcWoV{J94+ATPCi*v5Z)w;qhNWHoUy#abM`*}Rfv*Bnh(W@9;r$QIZR{_um1MsDq=8 zVXtACNM2&HZeFOa4f>AC0$i(Ci$rnUR>;5#2xoEx{eA9OFUO+9E9HXjur==U{u_ zK=&8T(X-QUOuwFcE4R4!Ml^oD>%yVsXx~b-Z*ll~Fn)I6je!eWmxH}4!QRE)Wjhp` ze22?KZ1@G`+H(sl!S0JcyB6G5CPILVLXnlwLw^e;uZ5By#V-f1POR)4FHNYW=d&vl zx#ey7m2LUbY_Uwpqr!-=N=SIWaLYt4;ym;O9}~QOxEUPpTK48{f9(sOE|iI-UZ;2C zb)WzA!nyWqz78I?p&2d)yr6|10UGkcC!s#x-v0?5_ulYD%7oVQ&8{QVhl9VGE{!Rr z3l3gKKAdC_}`}y_fS&& zw0rx$4)L>|-hC|{;?)ih7hO&EKHejK-XnAV^M`wfwupb-VjW5@eHFITC$S6?wn|-@ zH6zWZvU93tSTr@SumP?%tjb(&Rx>0ukHwY{%|c#b_<*qlLK{Li!cz$5M#ebz9%1H&u^|lcnZZ$33;&9} z-C9?ZD3dj4Yp%g6xeFhK58F~5=G3F+R6RY*@cA@s+{x$+(+wMchmm28kZeCMALPn} zm7z5|2H&=KCa`PGIqW!cDFpM~%Ogg@b>=**> z#1OR?_~EN3Gy0u_HY6=GnV-uU*5_F&r>>tiPEjG=*+v-*ca9I?HbxRP><}u(5e_4m zOMMo(354}zsyKWOVJ&y828T89U1!tgBh=beCJ)9{Q-14iZ9#zk#DP}R6?#dyDC7Y{ zt^+Gwd!j0L4ZEjq%&Pdzz_@#y4dpr0eN)-%>!@ReK-q zdEW8ZiROV1Her!&7Gy}p7il=xw zMvWUjJx-IbW!yr1W}G2DJI;b{iCL#@<2D-eGBNu!H_j26jX9>v#>M>j{7kG36gd3DVVb{kkV@AU?G;GN?%m|FY@=Pz}eKP=M&<^T#weYYBO8CQ`9PHfyNeyWFc)a<5s~2 zEwd!v4w98f97wjjWG9j%>dw`@%7c6yNi7G-ff8RPFnl@uJB9K|8(#r^ck-3c_X@rW z+)CahaFZ6k8se)^<~IqC0 zy&wu9UavNyrwU4-v!oL&Hm{ejN(h_Ei*tlB1OJbH3kr6FN-+3G5VNP@2ro z8I3tgwa~D(1cuCYgECLPuI#EA+-lYx-DXM!ANu1fgiPs6t63gqC%*!yA<-RXo`N6D z&wc6iXj>t#DHTSyK>2OM$p%Rd!A^@$`DSN)aRYvQ(*`1rCTmxx!hZ9?ZkiLsWMEA^ z*-XC4gy;*C-Q|3^SV)ot$h-g@ zo1VylpXme8!#o6L7IZEcjKm{yFqmxkDL@9y#5(NC|AO;#D(kG%oZD6B_O!D}bM91~ zI~D)2jC1HgL*v!KYp-PMw}JQa{rasp`Cs`_%x>?vI+$^8%kF4Kzwtqd3XWu){r4MN zK3@E2@ypY{IrsUw-<{T8JgL5TGTnFz3wg6nm*(`UPOs7S^8U{besb_O`;X=SP_FFg z%{X6Nm7z&>Hf5YGrP?{0agN__31}^yYD?#xQSHT1^~KRl%NVw?Bipg}>Y(P_p*nYD zoPJUv%Eln?Iolt>_^I$}#6>(Lc>Jk>$5a%v6n)}D2cke8X$#5GJf0Tf%zZKe`4{O$ z+<_%0 z$v2wpBq(j*?_?+vgWBap4vBpQ?DO%n0wxHem=Jq>{%R4(I%Pnq%|J>6e?1tD=dfM| zxNQ(;NyH69pjpJp7V&HX7#G4q1Wt!$jB3Fs$I(mV1VD5pE$M7D5sCY)Vk;(B8$%01 zmxDQkugpc|2Bg>I!nx50jnV70AYm5}kbNSaa$*xW$(9n(`BT_$hpf^*zz+b?O|>^V ze$laFsjl9V?e5jOUsAhY(z;Ko-6zxCuc_`%#oe-eIqUXl?pD>^s=4>7?!9UE^P0O$ zb$8v_b2p$IKdW?)XWVaOkDXZ>G_yUYx}QtC_uU>=-2?Y~jw>hLNcT)&a+~UIyHyEg zzw7AKI(pTP-fUyj$ElA}*=>7nZ&SARJ+?BtYZbSDrHrcCVpg}NRi!7P%v@FyS5_$M zz!A%1imK_iWcPJJp^STP*6r8adsO$HjQhEjt<>ha8y&ywSZSpy06$w*XX`!Z&Obl4 zQ=aV)DGQ9b#K^i;ceiqIMtNIQW+df+oN>?IcYA(Zu|obIB-Dq$9%vqPQD3& zi^{y^*Q@yN0tNkIq8p&_B3nSKf{WH?)K4a5U5hX&Yc!AQg^A(|E!&<^%hr@_ zZOd2Is~It@=rhrGj$We0)+=EBBB1cx#hnxdF*mKW1acjU}em4u3h7G>Uq+hRhqSvbt!dn zR;6qy3(*M|y3q|zaK8HQRkq-)Xsj8?&xvaelT!cOd$?Mw8v{|0^nQh}cUN5T`Dd{Nk? z#UJ!6xyYrsD4wN7AMeI}Ek6Gg{q`4C1wn%`^EIonne?2y%q`%l@}&E`R2#L%TBW$P zYh|``?OT{1Xm6gD(bgniw8NANKFmrF%*wOrQ{BdWf>moZdzELEp5de`$11_THE3m$ z1FJkC349>w;)QU62SzvzToJB3eL9QRV@VgfzDPVDpM0L=#9M(#Je-(DVJ3uEZN40* zH0h(s?|OW|@bLOgx5g4vk$AF-)Cn>Ku$JUDIV4?#TEH6SeTm6QWS^_<*K`gG#KCgb zS!n!X(v>5tkQ-AZUvdk?Oh!b~8`20N!I-F5kT6i-88GVw-8N%f@LI%fSRLIG;ghwm z8|<_&_(?G_?MqsEe34_oAd^0xugo*sax zWPJ&qp0ghMu-q9KOpcrbd9`#@ze8smc4`f~)rQ@-cr9>P4IEB4^eqkkM?+)Q{mVe)1DVJ&q395P&qVw_p&m4PB}NJ^iE|w7qXtME3Bhto_?^S^|M`{?E3rN zH|_UZ+dqqb61`oQZar|be50z~xjU`&PGmf9W*gf-zVgwPTXX5g7jCi}6_M{k%VQbO z>6J>#<6YjbHFc^@omx|$+SHeB>i?#$Kikl{Jg+wFx!sj+=*fD0nm3?&1Ddy6^>(Md zJ(~Bh>OHLVy_WI5zJBUk8E+`t)V8|zuWIj>E2HPsmx4+trc6s}NKPM_1$*HVebfTp zkY&sQwoK zH!|Kgq2`Z|e{?*%vn$)$e(R9h+HLF#Tmgxs| zo*VPm=a*Z)scS1$S+DBpRSut2PMuRu29+S%X@`iNwx!>4-?R0>x;EE@^5#WlBBsRR zN@7NdzpWe)HMgX?r60emYtZU;sdc+x2)G&6ts<=Oq7s%AX;zt=S7t9M2NpDU@*8&& z#{wmPkWRw}`|wEF%O2{V8~Q6x)KLH8Kjwwd?`s?{*D$}|*7357`MS&oF<-l^5c72n zgR*Dy@LuNYUA?dRn1Aco1MVMuwGi`%7xoPAV*Y)X6=dB$6Iwu=3a`Fn!}FQgfpMZ&SZz!eS2nu&+8`*jV27B!Q3oOlV873I& zw;Qlc(AYK?ip>g=cnmrq9sx(U^0U)3l5P{=5ak6wLoii5h3N>C63z=iBe}uQ9p^=y zyO1O&y(RE5pDJO=li&bC7O<~V^>n5^U7F{R>N%A5^ns#O^wUdh*5zLM+4V}z)ug(b zJ{|n*#3v_i&8M5YwB|!<^PzNe-#yon?-|T1A~PcWT4TrKJquaCdblxpn)L%q-I8MF zD6tQ?9LTs%5ISJWxs}6qiat5Nno+JO34*Iuu7pi*YENP12wVJVHPlAy9?jpe77D^^ z3^IFWH6sO$U=58(+6eJ!OLn#S;6cPVH+}OV$rn!mdrHj4d0(3m+h&p}U_y9g6Cx4t za|M+usFFAW9S}#+Avbb+LGrUj`UD%0@E$4uT4CIcp+Y9>O6U}}IuD7`C2&BUYU{Py zooek)t#+SUyDwead3ESP)#j!7_pdB>-6rCkBdwO@7Zzdd({zjIm{NGhH0 z+;gRf-mSULNBAHrhwSZXR1U9sKc|P`MipOp#OJ{A!_5PD5-2g1+i4391rn}c zZZySUUhvVwc!FqCoo)A=e$wY*|0aC4LCzWs!n<{FI>FDzP<94`Z_kEexfDi{MR>Cg zhT@usduL=l|0I7M$YKgwUgTy|MA{^dp+nGR9Hh@FW5)t{1>y(X zPAmfnsibrjocE|~)us>13G=6TnW4}Z*Ne!#IsNsuCZ}gVi+8FqKr(%LowYp za(w9c@Tl%GC^tOn$-uB@XXMtmG^0I^YL3xrN5X@H4~7=kn&= zMPcE5A|&!)bLM6~;2VMcJcFj1d_l-PVFyG+8NXfk2G;^(Fu2MpHNX~6EV9ZX?mL~4 z79^b&E=A~Hk z22nbP4r;yuEZ8$Kgbq3R5l2MSd*a}%OTFN{NBzkn(bo3w0XwbjE5OvsD*oc76`RG{ zdvjog0`Jyl;@u7t@1NcQNU-)k;ux#js2Ja=(otk@6)2{Puj^Y8=LYk>J7 yQHCt2Y!Y7h0EwpQZ>jQcsS5H}_ATZ5Bh~sx>iPeo4ukL~w$DPlA5!R&!T%oslqE|5 delta 3252 zcmai0Z%kX)6~Fhr=YL>>9Y14Z8)Gnm7ziO05(r74K>joo2Lee5VPV96Ng&3M`yQb% z6L*TDby5Go?ly>`th66Cwrm>R_92tn3bjibY0~susLWnymk*VueOX-+sZ*j&yZ0Ff z+D+<}{5$8|d+xdC9iMaVoeEs9&ib>-lmW;nZupt-T<&z11BRzdwt1K^H>By&Ko9~U zHmn`e_2^Wd3+smrJ=2$3w=hcf@s{=jmxYLQxIYpK3uyYiO4u^}&jZ}J!JmQm!D9G3 z9D={+#(BRD7chS*`V0av141wg`sk7Bh*F8nr-r1#9jvW{P0LZ1ta52-01!!&mLwBC zQsg#D#`MHs7XH#~g+}~EmfLolNllX-hO|NyCs`XaXv0T28-81F#n&u3_%$vYud!Bq z)8fv8K*~)k4?3yZc6VCdpuc8ruRBbPXQ$_*V9EB>6o%U}gx)osHc>e}JwxLlu$JN4zvJjCDEyWrdSmVPfI>9F095B1bN ze8FtRf6LI2tI9%PlDoodkTy}KNpzDZXS+AgrFpZyki5> z1+Sk$)Q-ZD*opY%%-UWPqW=t{;a0T$!JsfADVh;PgGl42WRMuQhx^9`BqA-^HV*w^G$YJYg)g9Ve`KmjH?FmYkXLAC)H= zBmSe&ZC>SbXOGSYav=R z?1x4T;e*f0fhf^%Qu)#Q1ZPM=3=)A1{JP$xpMt2u0HP4fJ|4Gb`B*dg>wlBwVWKQ9 z;N8q5hYuHdaAvlN)eL51xW$U!XARt>Hmb!jLk_-_&C}fAFGCcHYC;?hc}R0{8;MLW zRiL#)O02=I9!Y>GX{i#SI!d2a9gH%!*WD&XwUGmQT3~qG;8xH2t)*axGi_^wMj2{r zFmGcf%|$iD4M)-cHEoD8H$f;P%H0IFxZ4o-W#sQ;6ey zREIBZ;bWmp^^^Hcev|JZ#*Mewbdf-CiuA@w-4)&V=I=ADJE2QCkvd>Q_toCio-rt? zU6-y87HznpaxsF$AJ?RAlLJ}bV)&J3hKtkY{>Mi4x7heq%7$@MZJKe+md7jHs3;&s zBhYTIXu`wi2O_vG$A@p^yunU558!OO)5@zAs&J&xE+g7NP#HdG_dKt*w{jvY8U3M9 zx<+YoC~R1WsD-LzUr_ImuIAK@A|e-E*9Zs=BfMaD^O;nyP?EX5QI4-ilK#NpsY zK|+=Iq1_v+CM&3lfT$+NJ_!Wj^xv0-$vtv}L#UO*M(u!{ArAkb|x>FVnh zk4eS5EdjXV+Lmx_kGrJ%W5L z9Pb%g+7ppSCX)a(G6AOIF#vf-nN@dzTvYvs&O3aft~FlQny5PwuRF0+*S%D8O0Mpa z3r{b*dmr)+T<O6P=E(0nTz9 zuGk$jW7A`ETR*m!Y>I%~_+8o4zw9_m=2VmW?nLB$ZTFAK?H%_;+1Z)kyW)J;(^b1G zVK0l@%hmw2^upB`?T9UlXXKVHx$A^{vRgiJN_O@n_|tLzG|~1_y#Q2A?pnAa?>e}6 z_P*slD?49I@NIFv?P-#w3Qxp(^8dY2-m(w8+q{$DpY~Y~x!JpB&p`uw_c;r}dxjh` zb1&a=u!g-?V@ zp%GEh3X$M&Nbs|2IwE=(Bbt69&1#Z(Xe-{GR}Qb?P+oUINqY5beOyCksrIAK0J*81 zq+`3W)pMO8ubKy*Lg>Q(@f_&bc$_V(mZ#bdoMpE~n$dP4Q2B{jL z2Jk!H90U299}->+;yd|W&d<%ZS?#PedrmGoE$8%pV*U=I9tZpu{Drr^TP>=Jgl?FxdzhLlc~9c?2j;>a~V5aE?m?O6Qv&t2A{?H!-ZRQgB3l zEGas2VEZtV6die|QU>J^g&+<5`p5*&{)KAXRag@vk2V+}Zx3n-ogzSA2bAY2^iViW zff^F&UK-u?@X{bm*uT+Y`uYYU15#h#kLd=wi}V-rFsPlboo$&bnXg~6?tX=PO}`%T zm>zWy9dwLBCk53J`W!)B6gHxLl8S0(ZKWK2;;KLcEbbw24SaPDc0kP;_$5$D@*D#) zOji#lwNO(#+nfZ1%v)8m5LC&c?|YBwY|1V*>CZ}K94!rn6~{&7#g)YuCe#;}!Z(Ne zMNtqdI>$vx7^*lqjKU#A@A{NKU-$8ee(%t5Xf!PBM`wu&eL;(U0;Gf?d;l^Z0Mi4I c@c@`V1;w9&s=tGF!hFRYVPNeVps2d_U&2lZ4gdfE diff --git a/Game Server/Classes/System/__pycache__/GameManager.cpython-311.pyc b/Game Server/Classes/System/__pycache__/GameManager.cpython-311.pyc index 52b6cf32f127c6b978885d3e0f3376081450c694..80b11c49d2f459c7f9ff9102f01cbe8169a39f48 100644 GIT binary patch delta 987 zcmZ`%O-vI(6rS03*DbqSmJ|w9XqVQAjYh(c$e$EQF(D-c!okE_VYj6StxgvRO$APd zLk}ct;z3AiVuZvPHTB>@6B9$^xZ7+(!wF-I@m7LfIHxK#4f>4pjzA<3Svlk;?jaJBgLcm zG7%|7im^#KmWYSZVwdpUXeZ@q5$?`}7bTPwro!`*FrA3Sg=lzI5|VNl$w@zjpY95N zJ8LW+N$inPNgfI!WBz*!rKuk6j`m-xH__Gvc5?9w%Px<;+-f7Sk` z2P?cZdO)WKRC-|FSy!k!UnDIT%ZdQQsx@O@OKG&XNCO-9KX>$f>s$HVlGZ(}Qcgt7h%#y~qb;g}-$TL2d%J>Q_p9$@1yu4Cqr1xlchm>CRF`fYsK#sXmCNIulTZkxXLnlc>$GgUT-N>iJ#8|x9kja+GG7Tu&!0>^Mfk)s9xBLQ=OWf)o z7+5*&Zb-?^(fh!_#A^g5Ca~QQ7QZ5_zQXL1u;B*=MnR*=i&?@MpG^MElE!GaIf>Ph ziB-0it%P~QT(oe=mjzR9gaW(h%O2^ToG`%AmA{W zlUtuxm-VQCkgEpkQ4LmC-OaAtJdD;XKu0kH@#i)mF`c1?5eS)Tm@=7a7_xvO5KzNx z17wtd)IkAAcJf1JF}@VWY$lLck!TIW0;b6e*@P!g=M^)8sbdIc&}8y^2~wiTT*L;X zZZYSi<`vn31XzmrfK-trh;W`9!RKb~3uHDhJm3+U;C2H@n0;VnR^#em>EWADb&*5q zD-Qz?e@97A-9>J>E8KDm6fbcr0|SUtd9pcwxs)@=7?8O|4j@7kM0kJ*`^hKxkGpWO z$}M2~zyPFHl!2)ODPRgGQ6vb`%nBqlS&K|SZ0E_B1(c=iK}@h5Kall{!zMRBr8Fni ct|(x#fS|d3EF+`b2L|lqN3i%89I{|T0gMiag8%>k diff --git a/Game Server/Classes/System/__pycache__/GameManager.cpython-312.pyc b/Game Server/Classes/System/__pycache__/GameManager.cpython-312.pyc index 558ef15d0cd33a066a697208666af1d14d0bff7a..963cabf859066f1de879a492cfec478ba7456afc 100644 GIT binary patch delta 1273 zcmZuwO>7%Q6y90yZr1x}M~&Siw$pV|pi7YjCF;S1Qb&m@>Nd10Jv35;R@sSb$Jl6g zX&cw15h@}UKgP_Vh!&}b9$F#MAPxZusXY{_h|7jXiscKvAr44wT5;yhhLRHUr2S^* zoAp&>Zs1WCD3J*dQl`2@T7}@ z%peTVk;>IV0TYYw2re$q5FJRDiJ0^+nTogW5+p_iuHaPmcGJNs|ny^sd zeFG7L1tAthB7mK60eeRR-CFFB{Wd;oS8Vu6=3lyp1!w>ZTsyL(dA@Ppm-|UKZSiX& z*#SJA4NajW{Wh%U3A;^2lK1ZBlOd7!WdV? zJL!ROQT$01#}&F9eh&4}-@+Mmm>SAdcW{=?!xM|vmBi?qOn&o(^No35PLXb4NgqH* za;wv`*qat$@x)ktg4&$}xl8o8y0f>$)?3U$bwn40o|i6jU-4hFKZ79-O3gd`6&`Mh z32m`@XasH*BzJEs8S+>+1jgd2q4p>LEB`--M3*oN2Rto03E+*#LqIcRXI$6`=gBv4bkX>z81)nv`xKe=4>dc0xQ=ImS z)rw8#vgRMGb!)r!neUYCIZRyhw0#DfrE0Na7N8MLcfV&7&$XnD#t@2?nQBLbzI=Tw zcpjY)h?4^#VhJ1F!m35aXiLpqI0aMp3xEagzN|IXhPo#AuE@Q9V&BsK<&kekmNI@{ zZdD$=A5XSpiHBn7S!GdZ8V%#K+KN2*K<2{w(^1(UU;f^^HUGo>y;mmu>>GaHu~qr_ zV~Nuui(V5t=AJrmHT|nP)YhWSd?T-|X~`8W>8B2?YOhg6OQ8teqvdlkmSKO8CIgl{ z$uY1Pt}-Dw)2>+ kHdL5^C6ZyLGe%ST5IRV6dM`RbC-r2+MrdH2V;Fe<4HDiJ?*IS* delta 752 zcmY+BPe@cj9LHzgym|Zn&f9f$UDp&{VQUKlNh3^CL%m2MM392F_XKOpcyEg|6G0`V zK<#(%76u;j(xr>X4pKoKEQ1zJ=-SOzA*e&m@7bk!ywC49-AFN}t`7}82ev+zV|Qg!=~Kp*?U zHs}Ck)e)M88TB!pd}Z^?3a@#n6&ZxFL7IZC*f_0(7X6)(j|BpK(~vNRw9_&TEx2R+ zh<}Y&ZKp48c5j~BPIZ2ccfkX*R`j&-twzz)%C}m1PaCY8C#eG;%(Ju)ew!l+2bbfa z8Uhzhb1-Jro)|>cmY5+WH@P&uIK8dc1qqyxf;B5$qsla@`>9M;$rP2JGNp_u@SIh< ztX--_9FLmRQt*fAwnuNCk`{?6a)U#&mV}HWV4WrNS4mzO_>PyEXVLZTvVwm*XhT6g zt~Mp}pbPe$?hDss8um)ekZ*Rya$iZ}`~hb5bj$OgSq53u8@H+V|2=={?YG9gy9NJJ ha7E6+2MRM12aHm>N31>K?33J2ZHUtPGC@YZe*wDorHudp diff --git a/Game Server/Classes/System/__pycache__/Logger.cpython-311.pyc b/Game Server/Classes/System/__pycache__/Logger.cpython-311.pyc index c04e139437cf72c12c9cc6fe1eed720ea314c470..70bc9f689578a93e5b5d5b0697d98ce33a9891d6 100644 GIT binary patch delta 26 gcmbQsHJ6KPIWI340}z<{9 delta 26 gcmbQsHJ6KPIWI340}xCX*vPekk+FF5ZpI{L08(-We*gdg diff --git a/Game Server/Classes/System/__pycache__/Logger.cpython-312.pyc b/Game Server/Classes/System/__pycache__/Logger.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ac8ea48e617accf1a3b3e1b9709b1e966ddccae0 GIT binary patch literal 1149 zcmcIj&1(};5TCan$+k^W6>ZhpHWU`RAf7x(5f7#s4_cA7C?T+{*_W_&cT?Zn77}{! z(1QiRddk&6lOOmu z2JoGX!O}9NUq+<|F1XBx8YoZ&SJ?zt-BnUVjdhr%{UBqZk-Ace8I#qY!e0+K)R+r3 z#bujNQz=JHb5)djN3--e_pse+anZ=KCXsoRDt`T?BttaF2rH*i2^3(1xy)5uHOg#& zl>vui55PxlS5Hj_9kBF;m^s~B=By(dkr!}FUN>h0$s5vg%jRt8kP8)`uXF#{3b>R` z3wOGP`C!g`G-oa%1EcBroG_^tv|S$Onr#s{QJi<3h&O{M){{(@8s~lF>xHd&NC8>^kzux&5&BHQkcX3l|w8Y5>=yn+K`^oud^ z*_e3$Z2!u&{qZOJmuC*fCVRoV;Mb5gWcCpSXJ$onN@g{WN)JwEwZV3?xiN?ck*t5s z<}|VcJ8S{lq^}Auj6?y0V$BPi?Hxsol9A7bkhMpgL#G%+(H+TX5t`!UB@{%d_`3C` zgv{O+whG%%_l!w#0eAi{3vm%kSgN2iq%3qUL|ce)beuW+RdjR<+1V2eQTqGv#jWCY zYtNWU4!>aKXrOfKY&#ydZM=1BKIsM9e!1o(ch(i6Br@B=fDx0#J?J0k$ya~3iH diff --git a/Game Server/Classes/System/__pycache__/Server.cpython-311.pyc b/Game Server/Classes/System/__pycache__/Server.cpython-311.pyc index 9c11ea7f48ed176cc115e364215a5d9a6efa9036..760f0018f6822e31eecd21f9e1e63268a96e57c2 100644 GIT binary patch delta 26 gcmaDT{7{%{IWI340}zQsvxBvBIaUaAy#2o8J5gT+|BIF`exFy z%d!Yoh#+|I&>lSW;2|Xkul1xy#e)q=Nth%M5D(shD+oRLeecceKlR{)`M%%x=Y4PH z`}5}KbUHy`E#$wU&qWFO6@_pq0q9r&?h})kl0}MwOGSyxa#02@TalVlR3x-TtY}Rw zsvIj;tfmz;j-yt*mMA7TR;^?$RZK}lCQHPO-6N*9Ba73D>4sE@|Bk|PLGqJJ(?yliN1DWMjkhUF#yBdQ$kmvGm37`MkkJJORv z)Z5h{g~)Pq+V#rJtJv%MW?jc3=rz%<&0L+)dYPfgb9C;eyS(^?1jBDDNXC%hMiMQqYg-kY8t*MGm2kFn5wx^um0g#DbHnv$tt7Pb^@gt*M#ZjphSAIh%206* z543@NLJo8KmhwerkR4CWesversl&-xV98T0^=0z&5~ySXb*wHG^ZB4nhm-&ea02o}sFZ{Du~K=YC+@ZnWO zkD)ctX8mo75r-B;?Y3Oc1loUT>6Ww;i~uxhHx@LHyxctB-#o$4hW%5B@scu3Gs6f& zJ>ySxXMb?q3o@HR_wztpOpUIyX;e%CX^sU|?CYrK(eWA(DCA&`Ufb7RKi22By>Hu( z+K;{O+uyZ+^nPjo)P7=A_wJ47{&FSC^{$Y6m_u{<3cVx#8vU9uHxhL8jf5GKK3R~HRmNyJP zVHh>X+_Vs<4CCX?vK3e&uE+c=T*|iXcxA8R*sfuS@x)INg}`f$<&a=XnGWO;;m3$X z$5D#}2i*M-$Y%w=C*ygAjIUH($M#j%S>2$XANM|Dv~0p1BOku4MGnYIi@Ufav8W_CwWut$NR#CjOL1yWS`o{AT)8v}`md#659IOmTtYjzxi9_^pfLI^`6k5ezlhfGMjW}3! zXB2;608%TQ!PE}n&mi6hF-F!L#s%457(g_{5Rg_)p2?Tk7i)rzDN+O(2si&1hfQvN iN@-52U6CeG0u(~UYLj> +19:08:18,589 root INFO new length of user dictionary: 1 +19:08:18,589 root INFO connected users 1 +19:08:18,589 root INFO confirming login for user +19:08:18,590 root INFO incommingevent {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} +19:08:18,590 root INFO Received message from ('127.0.0.1', 54324): {"event": "login", "username": "player", "deck": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} +19:10:33,867 root ERROR Connection with ('127.0.0.1', 54324) forcibly closed by remote host. +19:10:36,58 root INFO Connected with ('127.0.0.1', 54355) +19:10:36,58 root INFO starting client handler thread for client at address ('127.0.0.1', 54355) +19:10:36,60 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} +19:10:36,60 root INFO user in message None +19:10:36,60 root INFO user logging in +19:10:36,62 root INFO task passed off to gameManager +19:10:36,63 root INFO creating user with id: > +19:10:36,63 root INFO new length of user dictionary: 2 +19:10:36,63 root INFO 2 players have join game starts