Skip to content

Commit f64d657

Browse files
new resource: ip2c (#405)
This PR separates the ip2c logic currently present in admin into it's own resource and modifies admin, admin2, and scoreboard to use it's exported functions. * Move admin ip2c code to new resource + Update scoreboard countries * IP2C fixes (see description) move ip2c inside [admin] + Remove admin2 ip2c implementation + fix getPlayerCountry call in admin admin_server.lua + fix update admin panel when IP2C starts/stops + update gitignore * ammend b3fecd9 * Fix admin2 and admin2 client panel country flags + admin2 detects ip2c start/stop * Add latest IpToCountryCompact.csv * Ignore further updates to the IpToCountryCompact.csv (.gitignore) * Readd "useip2c" setting to automatically start ip2c resource in admin/admin2 * Add getCountryName (shared) + GUI improvement in admin2/admin * Add /testcheckflags to find missing flag images and invalid flag images * Commented unused country flags in meta.xml + Add test script to check if any unknown codes in CSV There are no unknown country codes in CSV now, it's good 👍 * Del /testcheckcsv (temp cmd) * Update us.png * Optimiziation + aHandleIp2cSetting() call order fix Co-Authored-By: srslyyyy <[email protected]> * Update ad.png Andorra flag was wrong, #318 Co-Authored-By: srslyyyy <[email protected]> * Add 60 missing country flags Images from Wikipedia Resized with https://www.iloveimg.com/resize-image#resize-options,pixels Tested, getPlayerCountry and getCountryName working #318 * ammend 28991a4 * ammend 28991a4 * Update setting desc * ammend cffa943 * Revert "ammend cffa943" This reverts commit aeb79eb. * Add placeholder getPlayerCountry in admin for BC Outputs server log deprecation warning if any external scripts call this function. * admin getPlayerCountry calls ip2c if it actually exists * Update admin/meta.xml useip2c setting desc --------- Co-authored-by: srslyyyy <[email protected]>
1 parent 3d3c592 commit f64d657

File tree

308 files changed

+1087
-930
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

308 files changed

+1087
-930
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
# admin
99
\[admin\]/admin/conf/reports.xml
10-
\[admin\]/admin/conf/IpToCountryCompact.csv
10+
\[admin\]/ip2c/conf/IpToCountryCompact.csv
1111

1212
# admin2
1313
\[admin\]/admin2/admin.db

[admin]/admin/client/gui/admin_main.lua

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1427,19 +1427,11 @@ end
14271427

14281428
function loadFlagImage( guiStaticImage, countryCode )
14291429
if countryCode then
1430-
local flagFilename = "client\\images\\flags\\"..tostring ( countryCode )..".png"
1431-
if getVersion().sortable and getVersion().sortable > "1.1.0" then
1432-
-- 1.1
1433-
if fileExists( flagFilename ) then
1434-
if guiStaticImageLoadImage ( guiStaticImage, flagFilename ) then
1435-
return
1436-
end
1430+
local flagFilename = ":ip2c/client/images/flags/"..tostring ( countryCode )..".png"
1431+
if fileExists( flagFilename ) then
1432+
if guiStaticImageLoadImage ( guiStaticImage, flagFilename ) then
1433+
return
14371434
end
1438-
else
1439-
-- 1.0
1440-
guiStaticImageLoadImage ( guiStaticImage, "client\\images\\empty.png" )
1441-
guiStaticImageLoadImage ( guiStaticImage, flagFilename )
1442-
return
14431435
end
14441436
end
14451437
guiStaticImageLoadImage ( guiStaticImage, "client\\images\\empty.png" )

[admin]/admin/meta.xml

Lines changed: 5 additions & 200 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
<script src="server/admin_server.lua" />
1414
<script src="server/admin_sync.lua" />
1515
<script src="server/admin_commands.lua" />
16-
<script src="server/admin_ip2c.lua" />
1716
<script src="server/admin_servermaps.lua" />
1817
<script src="server/admin_ACL.lua" />
1918
<script src="server/admin_settings.lua" />
@@ -46,7 +45,8 @@
4645
<script src="client/gui/admin_screenshot.lua" type="client" />
4746
<script src="client/colorpicker/colorpicker.lua" type="client" />
4847

49-
<!--Exported Functions-->
48+
<!-- Placeholder for backwards compatibility -->
49+
<script src="server/admin_ip2c.lua" />
5050
<export function="getPlayerCountry"/>
5151

5252
<!--Required XML configs kept in /conf/ folder-->
@@ -76,201 +76,6 @@
7676
<file src="client/colorpicker/blank.png" />
7777
<file src="client/colorpicker/h.png" />
7878

79-
<!--Country flags for IP2C-->
80-
<file src="client/images/flags/ac.png" />
81-
<file src="client/images/flags/ad.png" />
82-
<file src="client/images/flags/ae.png" />
83-
<file src="client/images/flags/af.png" />
84-
<file src="client/images/flags/ag.png" />
85-
<file src="client/images/flags/ai.png" />
86-
<file src="client/images/flags/al.png" />
87-
<file src="client/images/flags/am.png" />
88-
<file src="client/images/flags/an.png" />
89-
<file src="client/images/flags/ao.png" />
90-
<file src="client/images/flags/aq.png" />
91-
<file src="client/images/flags/ar.png" />
92-
<file src="client/images/flags/as.png" />
93-
<file src="client/images/flags/at.png" />
94-
<file src="client/images/flags/au.png" />
95-
<file src="client/images/flags/aw.png" />
96-
<file src="client/images/flags/ax.png" />
97-
<file src="client/images/flags/az.png" />
98-
<file src="client/images/flags/ba.png" />
99-
<file src="client/images/flags/bb.png" />
100-
<file src="client/images/flags/bd.png" />
101-
<file src="client/images/flags/be.png" />
102-
<file src="client/images/flags/bf.png" />
103-
<file src="client/images/flags/bg.png" />
104-
<file src="client/images/flags/bh.png" />
105-
<file src="client/images/flags/bi.png" />
106-
<file src="client/images/flags/bj.png" />
107-
<file src="client/images/flags/bm.png" />
108-
<file src="client/images/flags/bn.png" />
109-
<file src="client/images/flags/bo.png" />
110-
<file src="client/images/flags/br.png" />
111-
<file src="client/images/flags/bs.png" />
112-
<file src="client/images/flags/bt.png" />
113-
<file src="client/images/flags/bv.png" />
114-
<file src="client/images/flags/bw.png" />
115-
<file src="client/images/flags/by.png" />
116-
<file src="client/images/flags/bz.png" />
117-
<file src="client/images/flags/ca.png" />
118-
<file src="client/images/flags/cc.png" />
119-
<file src="client/images/flags/cd.png" />
120-
<file src="client/images/flags/cf.png" />
121-
<file src="client/images/flags/cg.png" />
122-
<file src="client/images/flags/ch.png" />
123-
<file src="client/images/flags/ci.png" />
124-
<file src="client/images/flags/ck.png" />
125-
<file src="client/images/flags/cl.png" />
126-
<file src="client/images/flags/cm.png" />
127-
<file src="client/images/flags/cn.png" />
128-
<file src="client/images/flags/co.png" />
129-
<file src="client/images/flags/cr.png" />
130-
<file src="client/images/flags/cs.png" />
131-
<file src="client/images/flags/cu.png" />
132-
<file src="client/images/flags/cv.png" />
133-
<file src="client/images/flags/cx.png" />
134-
<file src="client/images/flags/cy.png" />
135-
<file src="client/images/flags/cz.png" />
136-
<file src="client/images/flags/de.png" />
137-
<file src="client/images/flags/dj.png" />
138-
<file src="client/images/flags/dk.png" />
139-
<file src="client/images/flags/dm.png" />
140-
<file src="client/images/flags/do.png" />
141-
<file src="client/images/flags/dz.png" />
142-
<file src="client/images/flags/ec.png" />
143-
<file src="client/images/flags/ee.png" />
144-
<file src="client/images/flags/eg.png" />
145-
<file src="client/images/flags/eh.png" />
146-
<file src="client/images/flags/er.png" />
147-
<file src="client/images/flags/es.png" />
148-
<file src="client/images/flags/et.png" />
149-
<file src="client/images/flags/eu.png" />
150-
<file src="client/images/flags/fi.png" />
151-
<file src="client/images/flags/fo.png" />
152-
<file src="client/images/flags/fr.png" />
153-
<file src="client/images/flags/fj.png" />
154-
<file src="client/images/flags/ga.png" />
155-
<file src="client/images/flags/gb.png" />
156-
<file src="client/images/flags/gd.png" />
157-
<file src="client/images/flags/gl.png" />
158-
<file src="client/images/flags/gm.png" />
159-
<file src="client/images/flags/gw.png" />
160-
<file src="client/images/flags/gp.png" />
161-
<file src="client/images/flags/gt.png" />
162-
<file src="client/images/flags/gy.png" />
163-
<file src="client/images/flags/hu.png" />
164-
<file src="client/images/flags/id.png" />
165-
<file src="client/images/flags/ie.png" />
166-
<file src="client/images/flags/il.png" />
167-
<file src="client/images/flags/in.png" />
168-
<file src="client/images/flags/iq.png" />
169-
<file src="client/images/flags/is.png" />
170-
<file src="client/images/flags/it.png" />
171-
<file src="client/images/flags/ja.png" />
172-
<file src="client/images/flags/jm.png" />
173-
<file src="client/images/flags/jp.png" />
174-
<file src="client/images/flags/kw.png" />
175-
<file src="client/images/flags/kp.png" />
176-
<file src="client/images/flags/lt.png" />
177-
<file src="client/images/flags/lu.png" />
178-
<file src="client/images/flags/lv.png" />
179-
<file src="client/images/flags/lk.png" />
180-
<file src="client/images/flags/ly.png" />
181-
<file src="client/images/flags/ma.png" />
182-
<file src="client/images/flags/mc.png" />
183-
<file src="client/images/flags/mg.png" />
184-
<file src="client/images/flags/mh.png" />
185-
<file src="client/images/flags/mt.png" />
186-
<file src="client/images/flags/mu.png" />
187-
<file src="client/images/flags/ng.png" />
188-
<file src="client/images/flags/nl.png" />
189-
<file src="client/images/flags/no.png" />
190-
<file src="client/images/flags/nr.png" />
191-
<file src="client/images/flags/ni.png" />
192-
<file src="client/images/flags/pa.png" />
193-
<file src="client/images/flags/pe.png" />
194-
<file src="client/images/flags/ph.png" />
195-
<file src="client/images/flags/pk.png" />
196-
<file src="client/images/flags/pl.png" />
197-
<file src="client/images/flags/pr.png" />
198-
<file src="client/images/flags/ps.png" />
199-
<file src="client/images/flags/pt.png" />
200-
<file src="client/images/flags/pm.png" />
201-
<file src="client/images/flags/py.png" />
202-
<file src="client/images/flags/qa.png" />
203-
<file src="client/images/flags/re.png" />
204-
<file src="client/images/flags/ro.png" />
205-
<file src="client/images/flags/ru.png" />
206-
<file src="client/images/flags/rw.png" />
207-
<file src="client/images/flags/sd.png" />
208-
<file src="client/images/flags/se.png" />
209-
<file src="client/images/flags/sj.png" />
210-
<file src="client/images/flags/sl.png" />
211-
<file src="client/images/flags/so.png" />
212-
<file src="client/images/flags/sy.png" />
213-
<file src="client/images/flags/td.png" />
214-
<file src="client/images/flags/to.png" />
215-
<file src="client/images/flags/tn.png" />
216-
<file src="client/images/flags/tv.png" />
217-
<file src="client/images/flags/ua.png" />
218-
<file src="client/images/flags/uk.png" />
219-
<file src="client/images/flags/um.png" />
220-
<file src="client/images/flags/us.png" />
221-
<file src="client/images/flags/uy.png" />
222-
<file src="client/images/flags/uz.png" />
223-
<file src="client/images/flags/vn.png" />
224-
<file src="client/images/flags/wf.png" />
225-
<file src="client/images/flags/ws.png" />
226-
<file src="client/images/flags/ye.png" />
227-
<file src="client/images/flags/yt.png" />
228-
<file src="client/images/flags/yu.png" />
229-
<file src="client/images/flags/za.png" />
230-
<file src="client/images/flags/ge.png" />
231-
<file src="client/images/flags/gr.png" />
232-
<file src="client/images/flags/hk.png" />
233-
<file src="client/images/flags/hn.png" />
234-
<file src="client/images/flags/ht.png" />
235-
<file src="client/images/flags/ir.png" />
236-
<file src="client/images/flags/jo.png" />
237-
<file src="client/images/flags/je.png" />
238-
<file src="client/images/flags/kg.png" />
239-
<file src="client/images/flags/kr.png" />
240-
<file src="client/images/flags/kn.png" />
241-
<file src="client/images/flags/kz.png" />
242-
<file src="client/images/flags/lb.png" />
243-
<file src="client/images/flags/md.png" />
244-
<file src="client/images/flags/mv.png" />
245-
<file src="client/images/flags/mz.png" />
246-
<file src="client/images/flags/me.png" />
247-
<file src="client/images/flags/mk.png" />
248-
<file src="client/images/flags/my.png" />
249-
<file src="client/images/flags/mm.png" />
250-
<file src="client/images/flags/mn.png" />
251-
<file src="client/images/flags/mx.png" />
252-
<file src="client/images/flags/np.png" />
253-
<file src="client/images/flags/nc.png" />
254-
<file src="client/images/flags/nz.png" />
255-
<file src="client/images/flags/om.png" />
256-
<file src="client/images/flags/pg.png" />
257-
<file src="client/images/flags/rs.png" />
258-
<file src="client/images/flags/sa.png" />
259-
<file src="client/images/flags/sc.png" />
260-
<file src="client/images/flags/sg.png" />
261-
<file src="client/images/flags/si.png" />
262-
<file src="client/images/flags/sk.png" />
263-
<file src="client/images/flags/sv.png" />
264-
<file src="client/images/flags/th.png" />
265-
<file src="client/images/flags/tk.png" />
266-
<file src="client/images/flags/tr.png" />
267-
<file src="client/images/flags/tw.png" />
268-
<file src="client/images/flags/tt.png" />
269-
<file src="client/images/flags/tj.png" />
270-
<file src="client/images/flags/ve.png" />
271-
<file src="client/images/flags/hr.png" />
272-
<file src="client/images/flags/xk.png" />
273-
27479
<!--HTTP Server Stuff-->
27580
<!--Not finished yet
27681
<export function="httpLoad" http="true" />
@@ -342,12 +147,12 @@
342147
accept="true,false"
343148
desc="Ban IP's that attempt to send fake admin packets."
344149
/>
345-
346-
<setting name="*useip2c" value="true"
150+
151+
<setting name="*useip2c" value="true"
347152
friendlyname="useip2c"
348153
group="_Advanced"
349154
accept="true,false"
350-
desc="Displays country flags next to players, set to false to save about 3MB of server RAM."
155+
desc="When enabled, admin will use the ip2c resource to determine players' countries by their IP."
351156
/>
352157

353158
<setting name="*nickChangeDelay" value="5000"

0 commit comments

Comments
 (0)