Skip to content

Commit 675b846

Browse files
bokikoclaude
andcommitted
v1.14.0: Add Valorant and Fortnite support
New games: - Valorant: 20 servers across EU, NA, ASIA, SA, ME (Riot Direct) - Fortnite: 12 servers across EU, NA, ASIA, SA, ME (AWS) PingDiff now supports 7 games total: - Overwatch 2 - Call of Duty - Counter-Strike 2 - Battlefield 6 - Marvel Rivals - Valorant (NEW) - Fortnite (NEW) Changes: - Added server configurations for both games - Created database migrations - Updated landing page with new game cards 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 11efe6d commit 675b846

4 files changed

Lines changed: 181 additions & 5 deletions

File tree

desktop/src/config.py

Lines changed: 65 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
}
1313

1414
# App Version
15-
APP_VERSION = "1.13.0"
15+
APP_VERSION = "1.14.0"
1616

1717
# Ping Configuration
1818
PING_COUNT = 10 # Number of pings per server
@@ -206,6 +206,62 @@
206206
"ME": [
207207
{"id": "me-bhr", "location": "Bahrain", "ip": "52.94.91.1", "port": 443}
208208
]
209+
},
210+
"valorant": {
211+
"EU": [
212+
{"id": "eu-lon", "location": "London", "ip": "104.160.141.3", "port": 443},
213+
{"id": "eu-par", "location": "Paris", "ip": "162.249.72.1", "port": 443},
214+
{"id": "eu-fra", "location": "Frankfurt", "ip": "162.249.73.1", "port": 443},
215+
{"id": "eu-sto", "location": "Stockholm", "ip": "162.249.74.1", "port": 443},
216+
{"id": "eu-war", "location": "Warsaw", "ip": "162.249.75.1", "port": 443}
217+
],
218+
"NA": [
219+
{"id": "na-ash", "location": "Ashburn", "ip": "104.160.131.3", "port": 443},
220+
{"id": "na-chi", "location": "Chicago", "ip": "104.160.136.3", "port": 443},
221+
{"id": "na-dal", "location": "Dallas", "ip": "104.160.151.182", "port": 443},
222+
{"id": "na-lax", "location": "Los Angeles", "ip": "104.160.159.1", "port": 443},
223+
{"id": "na-atl", "location": "Atlanta", "ip": "104.160.156.1", "port": 443},
224+
{"id": "na-sea", "location": "Seattle", "ip": "104.160.158.1", "port": 443}
225+
],
226+
"ASIA": [
227+
{"id": "asia-tok", "location": "Tokyo", "ip": "104.160.129.1", "port": 443},
228+
{"id": "asia-seo", "location": "Seoul", "ip": "104.160.142.1", "port": 443},
229+
{"id": "asia-sgp", "location": "Singapore", "ip": "151.106.248.1", "port": 443},
230+
{"id": "asia-hkg", "location": "Hong Kong", "ip": "104.160.144.1", "port": 443},
231+
{"id": "asia-mum", "location": "Mumbai", "ip": "151.106.246.1", "port": 443},
232+
{"id": "asia-syd", "location": "Sydney", "ip": "43.229.64.1", "port": 443}
233+
],
234+
"SA": [
235+
{"id": "sa-sao", "location": "São Paulo", "ip": "104.160.152.1", "port": 443},
236+
{"id": "sa-scl", "location": "Santiago", "ip": "104.160.154.1", "port": 443}
237+
],
238+
"ME": [
239+
{"id": "me-bhr", "location": "Bahrain", "ip": "104.160.146.1", "port": 443}
240+
]
241+
},
242+
"fortnite": {
243+
"EU": [
244+
{"id": "eu-lon", "location": "London", "ip": "18.133.162.190", "port": 443},
245+
{"id": "eu-fra", "location": "Frankfurt", "ip": "3.66.90.29", "port": 443},
246+
{"id": "eu-par", "location": "Paris", "ip": "13.37.148.3", "port": 443},
247+
{"id": "eu-sto", "location": "Stockholm", "ip": "15.237.20.100", "port": 443}
248+
],
249+
"NA": [
250+
{"id": "na-east", "location": "Virginia", "ip": "3.129.132.114", "port": 443},
251+
{"id": "na-east2", "location": "Ohio", "ip": "44.192.143.240", "port": 443},
252+
{"id": "na-west", "location": "Oregon", "ip": "44.237.247.68", "port": 443},
253+
{"id": "na-west2", "location": "California", "ip": "3.101.95.110", "port": 443}
254+
],
255+
"ASIA": [
256+
{"id": "asia-tok", "location": "Tokyo", "ip": "35.72.18.106", "port": 443},
257+
{"id": "asia-syd", "location": "Sydney", "ip": "3.25.159.13", "port": 443}
258+
],
259+
"SA": [
260+
{"id": "sa-sao", "location": "São Paulo", "ip": "15.228.25.140", "port": 443}
261+
],
262+
"ME": [
263+
{"id": "me-bhr", "location": "Bahrain", "ip": "15.184.13.113", "port": 443}
264+
]
209265
}
210266
}
211267

@@ -239,5 +295,13 @@
239295
"marvel-rivals": {
240296
"name": "Marvel Rivals",
241297
"short": "MR"
298+
},
299+
"valorant": {
300+
"name": "Valorant",
301+
"short": "VAL"
302+
},
303+
"fortnite": {
304+
"name": "Fortnite",
305+
"short": "FN"
242306
}
243307
}
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
-- Add Valorant game and servers
2+
-- Migration: 007_add_valorant.sql
3+
4+
-- Add Valorant game (update if exists)
5+
INSERT INTO games (name, slug, icon_url, is_active) VALUES
6+
('Valorant', 'valorant', '/icons/valorant.png', true)
7+
ON CONFLICT (slug) DO UPDATE SET is_active = true;
8+
9+
-- Insert Valorant servers (Riot Direct infrastructure)
10+
INSERT INTO game_servers (game_id, region, location, ip_address, port, is_active)
11+
SELECT
12+
g.id,
13+
s.region,
14+
s.location,
15+
s.ip_address,
16+
s.port,
17+
true
18+
FROM games g
19+
CROSS JOIN (VALUES
20+
-- EU - Europe
21+
('EU', 'London', '104.160.141.3', 443),
22+
('EU', 'Paris', '162.249.72.1', 443),
23+
('EU', 'Frankfurt', '162.249.73.1', 443),
24+
('EU', 'Stockholm', '162.249.74.1', 443),
25+
('EU', 'Warsaw', '162.249.75.1', 443),
26+
27+
-- NA - North America
28+
('NA', 'Ashburn', '104.160.131.3', 443),
29+
('NA', 'Chicago', '104.160.136.3', 443),
30+
('NA', 'Dallas', '104.160.151.182', 443),
31+
('NA', 'Los Angeles', '104.160.159.1', 443),
32+
('NA', 'Atlanta', '104.160.156.1', 443),
33+
('NA', 'Seattle', '104.160.158.1', 443),
34+
35+
-- ASIA - Asia Pacific
36+
('ASIA', 'Tokyo', '104.160.129.1', 443),
37+
('ASIA', 'Seoul', '104.160.142.1', 443),
38+
('ASIA', 'Singapore', '151.106.248.1', 443),
39+
('ASIA', 'Hong Kong', '104.160.144.1', 443),
40+
('ASIA', 'Mumbai', '151.106.246.1', 443),
41+
('ASIA', 'Sydney', '43.229.64.1', 443),
42+
43+
-- SA - South America
44+
('SA', 'São Paulo', '104.160.152.1', 443),
45+
('SA', 'Santiago', '104.160.154.1', 443),
46+
47+
-- ME - Middle East
48+
('ME', 'Bahrain', '104.160.146.1', 443)
49+
) AS s(region, location, ip_address, port)
50+
WHERE g.slug = 'valorant'
51+
AND NOT EXISTS (
52+
SELECT 1 FROM game_servers gs
53+
WHERE gs.game_id = g.id
54+
AND gs.location = s.location
55+
);
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
-- Add Fortnite game and servers
2+
-- Migration: 008_add_fortnite.sql
3+
4+
-- Add Fortnite game (update if exists)
5+
INSERT INTO games (name, slug, icon_url, is_active) VALUES
6+
('Fortnite', 'fortnite', '/icons/fortnite.png', true)
7+
ON CONFLICT (slug) DO UPDATE SET is_active = true;
8+
9+
-- Insert Fortnite servers (AWS infrastructure)
10+
INSERT INTO game_servers (game_id, region, location, ip_address, port, is_active)
11+
SELECT
12+
g.id,
13+
s.region,
14+
s.location,
15+
s.ip_address,
16+
s.port,
17+
true
18+
FROM games g
19+
CROSS JOIN (VALUES
20+
-- EU - Europe
21+
('EU', 'London', '18.133.162.190', 443),
22+
('EU', 'Frankfurt', '3.66.90.29', 443),
23+
('EU', 'Paris', '13.37.148.3', 443),
24+
('EU', 'Stockholm', '15.237.20.100', 443),
25+
26+
-- NA - North America
27+
('NA', 'Virginia', '3.129.132.114', 443),
28+
('NA', 'Ohio', '44.192.143.240', 443),
29+
('NA', 'Oregon', '44.237.247.68', 443),
30+
('NA', 'California', '3.101.95.110', 443),
31+
32+
-- ASIA - Asia Pacific
33+
('ASIA', 'Tokyo', '35.72.18.106', 443),
34+
('ASIA', 'Sydney', '3.25.159.13', 443),
35+
36+
-- SA - South America
37+
('SA', 'São Paulo', '15.228.25.140', 443),
38+
39+
-- ME - Middle East
40+
('ME', 'Bahrain', '15.184.13.113', 443)
41+
) AS s(region, location, ip_address, port)
42+
WHERE g.slug = 'fortnite'
43+
AND NOT EXISTS (
44+
SELECT 1 FROM game_servers gs
45+
WHERE gs.game_id = g.id
46+
AND gs.location = s.location
47+
);

web/src/app/page.tsx

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ export default function Home() {
8787
<span className="animate-ping absolute inline-flex h-full w-full rounded-full bg-green-400 opacity-75"></span>
8888
<span className="relative inline-flex rounded-full h-2 w-2 bg-green-500"></span>
8989
</span>
90-
<span className="text-sm text-blue-400">Now supporting Overwatch 2, CoD, CS2, Battlefield 6 & Marvel Rivals</span>
90+
<span className="text-sm text-blue-400">Now supporting 7 games: OW2, CoD, CS2, BF6, Marvel Rivals, Valorant & Fortnite</span>
9191
</div>
9292

9393
<h1 className="text-4xl sm:text-5xl md:text-6xl font-bold mb-6 leading-tight fade-in-delay-1">
@@ -250,13 +250,13 @@ export default function Home() {
250250
</span>
251251
</div>
252252

253-
<div className="bg-zinc-800/50 border border-zinc-700/50 rounded-xl p-6 w-44 md:w-48 opacity-60">
253+
<div className="bg-zinc-800 border border-zinc-700 rounded-xl p-6 w-44 md:w-48 card-hover">
254254
<div className="w-16 h-16 bg-red-500/20 rounded-xl mx-auto mb-4 flex items-center justify-center">
255255
<span className="text-3xl">🎯</span>
256256
</div>
257257
<h3 className="font-semibold mb-2">Valorant</h3>
258-
<span className="text-xs text-zinc-500 bg-zinc-700 px-3 py-1 rounded-full">
259-
Coming Soon
258+
<span className="text-xs text-green-500 bg-green-500/20 px-3 py-1 rounded-full font-medium">
259+
Active
260260
</span>
261261
</div>
262262

@@ -289,6 +289,16 @@ export default function Home() {
289289
Active
290290
</span>
291291
</div>
292+
293+
<div className="bg-zinc-800 border border-zinc-700 rounded-xl p-6 w-44 md:w-48 card-hover">
294+
<div className="w-16 h-16 bg-purple-500/20 rounded-xl mx-auto mb-4 flex items-center justify-center">
295+
<span className="text-3xl">🏝️</span>
296+
</div>
297+
<h3 className="font-semibold mb-2">Fortnite</h3>
298+
<span className="text-xs text-green-500 bg-green-500/20 px-3 py-1 rounded-full font-medium">
299+
Active
300+
</span>
301+
</div>
292302
</div>
293303
</div>
294304
</section>

0 commit comments

Comments
 (0)