@@ -113,46 +113,42 @@ async def _filter_servers(
113113 Returns:
114114 符合条件的服务器列表
115115 """
116- if map_type is None :
117- map_type = [ "普通药役" , "硬核药役" ]
116+ map_type = [ "普通药役" , "硬核药役" ]
117+ map_type = map_type
118118 filtered = []
119- for i in servers :
120- ser_list = await L4API .a2s_info ([(i ["host" ], i ["port" ])], is_player = True )
121119
120+ for server in servers :
121+ ser_list = await L4API .a2s_info (
122+ [(server ["host" ], server ["port" ])],
123+ is_player = True ,
124+ )
122125 if not ser_list :
123126 continue
124127
125- srv = ser_list [0 ][0 ]
126- players = ser_list [0 ][1 ]
127- logger .info (srv )
128- logger .info (players )
128+ srv , players = ser_list [0 ]
129129 if srv .map_name == "无" :
130130 continue
131131
132- if tj_mode == "tj" and any (
133- map_type_value in srv .server_name for map_type_value in map_type
134- ):
132+ server_info = f"{ server ['host' ]} :{ server ['port' ]} , 地图: { srv .map_name } "
133+ if tj_mode == "tj" and any (m in srv .server_name for m in map_type ):
135134 scores = [p .score for p in players [:4 ]]
136135 total_score = sum (scores )
137- part_with_number = srv .server_name .split ("[" )[1 ].split ("]" )[0 ]
138- t = part_with_number .split ("特" )[0 ]
139- logger .info (t )
140- logger .info (total_score )
141- if t .isdigit () and int (t ) * 10 < total_score :
142- logger .info (
143- f"符合TJ条件的服务器: { i ['host' ]} :{ i ['port' ]} , 地图: { srv .map_name } , 分数: { total_score } " ,
144- )
145- filtered .append (i )
146- elif tj_mode == "zl" and map_type in srv .server_name and len (players ) <= 4 :
147- logger .info (
148- f"符合ZL条件的服务器: { i ['host' ]} :{ i ['port' ]} , 地图: { srv .map_name } , 玩家数: { len (players )} " ,
149- )
150- filtered .append (i )
136+ part = srv .server_name .split ("[" )[1 ].split ("]" )[0 ]
137+ threshold = part .split ("特" )[0 ]
138+ if threshold .isdigit () and int (threshold ) * 50 < total_score :
139+ logger .info (f"符合TJ条件的服务器: { server_info } , 分数: { total_score } " )
140+ filtered .append (server )
141+ elif (
142+ tj_mode == "zl"
143+ and any (m in srv .server_name for m in map_type )
144+ and len (players ) <= 4
145+ ):
146+ logger .info (f"符合ZL条件的服务器: { server_info } , 玩家数: { len (players )} " )
147+ filtered .append (server )
151148 elif tj_mode == "kl" and len (players ) == 0 :
152- logger .info (
153- f"符合KL条件的服务器: { i ['host' ]} :{ i ['port' ]} , 地图: { srv .map_name } , 玩家数: { len (players )} " ,
154- )
155- filtered .append (i )
149+ logger .info (f"符合KL条件的服务器: { server_info } , 玩家数: { len (players )} " )
150+ filtered .append (server )
151+
156152 return filtered
157153
158154
0 commit comments