• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 19:53
CEST 01:53
KST 08:53
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
[ASL19] Finals Recap: Standing Tall9HomeStory Cup 27 - Info & Preview18Classic wins Code S Season 2 (2025)16Code S RO4 & Finals Preview: herO, Rogue, Classic, GuMiho0TL Team Map Contest #5: Presented by Monster Energy6
Community News
Flash Announces Hiatus From ASL59Weekly Cups (June 23-29): Reynor in world title form?13FEL Cracov 2025 (July 27) - $8000 live event19Esports World Cup 2025 - Final Player Roster16Weekly Cups (June 16-22): Clem strikes back1
StarCraft 2
General
Program: SC2 / XSplit / OBS Scene Switcher Statistics for vetoed/disliked maps The SCII GOAT: A statistical Evaluation Weekly Cups (June 23-29): Reynor in world title form? PiG Sty Festival #5: Playoffs Preview + Groups Recap
Tourneys
FEL Cracov 2025 (July 27) - $8000 live event RSL: Revival, a new crowdfunded tournament series Korean Starcraft League Week 77 Master Swan Open (Global Bronze-Master 2) [GSL 2025] Code S: Season 2 - Semi Finals & Finals
Strategy
How did i lose this ZvP, whats the proper response Simple Questions Simple Answers
Custom Maps
[UMS] Zillion Zerglings
External Content
Mutation # 480 Moths to the Flame Mutation # 479 Worn Out Welcome Mutation # 478 Instant Karma Mutation # 477 Slow and Steady
Brood War
General
Flash Announces Hiatus From ASL SC uni coach streams logging into betting site BGH Mineral Boosts Tutorial Video Player “Jedi” cheat on CSL Replays question
Tourneys
[Megathread] Daily Proleagues [BSL20] Grand Finals - Sunday 20:00 CET Small VOD Thread 2.0 [BSL20] GosuLeague RO16 - Tue & Wed 20:00+CET
Strategy
Simple Questions, Simple Answers I am doing this better than progamers do.
Other Games
General Games
Stormgate/Frost Giant Megathread Nintendo Switch Thread Path of Exile What do you want from future RTS games? Beyond All Reason
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread Vanilla Mini Mafia
Community
General
Russo-Ukrainian War Thread US Politics Mega-thread Trading/Investing Thread Things Aren’t Peaceful in Palestine The Games Industry And ATVI
Fan Clubs
SKT1 Classic Fan Club! Maru Fan Club
Media & Entertainment
Anime Discussion Thread [Manga] One Piece [\m/] Heavy Metal Thread
Sports
2024 - 2025 Football Thread Formula 1 Discussion NBA General Discussion TeamLiquid Health and Fitness Initiative For 2023 NHL Playoffs 2024
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
Blogs
Culture Clash in Video Games…
TrAiDoS
from making sc maps to makin…
Husyelt
Blog #2
tankgirl
StarCraft improvement
iopq
Trip to the Zoo
micronesia
Customize Sidebar...

Website Feedback

Closed Threads



Active: 562 users

Custom Ladder

Forum Index > SC2 Maps & Custom Games
Post a Reply
1 2 Next All
MAPPoVe
Profile Joined September 2010
86 Posts
Last Edited: 2011-01-26 23:41:12
January 25 2011 04:32 GMT
#1
Dear Team Liquid folks,

I wanted to create a ladder for custom 1v1 maps. So this is what I've come up with.

It is a ladder implemented with php and mysql. It works really well so far.

How it works:
  • goto sc2 custom ladder
  • Register with your battle.net ID and Character Code.
  • Search for a ladder match.
  • Play the match in battle.net against your opponent.
  • The winner is determined by the replay file that gets uploaded.
  • View the ladder as your Points increase by winning obviously.


Whats missing?

  • Rankings like A+,D- etc.
  • Cross Realm support. Note this is currently EU only!
  • A dynamic point system.


Concerns
  • Everything is implemented with mySQL. I am not really sure how well the algorithms work when there are a lot of players active.
  • I don't know how much work my poor little vhost can handle.
  • The work on the php MPQ parser that analyzes the replay is not finished yet. There might be some problems with it. It works for a lot of replays though (all I've tested so far). For more information visit http://code.google.com/p/phpsc2replay/.


Map Pool
  • Final Whistle
  • Xel'Naga Caverns
  • iCCup Pawn Re
  • MotM - The Crucible
  • iCCup Starlight Breaker
  • iCCup Testbug







my maps -> http://www.teamliquid.net/forum/viewmessage.php?topic_id=160218
G_Wen
Profile Joined September 2009
Canada525 Posts
January 25 2011 05:10 GMT
#2
This is awesome. Can you give an explanation on how you plan on tracking point? Hopefully it will be better than Blizzard's system. Secondly would it not be possible to implement support for other realms immediately since it is essentially an offline ladder since wins are calculated by replays. Lastly wouldn't this type of ladder be open to abuse as some players would only submit the replays where they win?
ESV Mapmaking Team
monitor
Profile Blog Joined June 2010
United States2404 Posts
Last Edited: 2011-01-25 05:41:47
January 25 2011 05:16 GMT
#3
Hmm... I don't quite understand how it is ladder on custom maps? Do you just submit replays and you judge them? If so, I don't think that will really work... maybe explain that part? edit: GWen points out that you could cheat and submit only replays that you win in.

---------------

You could, however, make one custom game with a ladder in it. It is an idea I've been thinking about for a while. The map would be called "Custom Melee Ladder" or something.

Two people would join and the game would start. A screen then comes up as soon as it starts and has a list of 7 maps with images. You then select 4 of the maps that you would like to play. Based on you and your opponents preferences, it randomly picks map. Once the game is done, scores similar to the blizzard ladder are recorded in the game (this is possible, see Battlecraft) and will carry over to all other matches you play.

The only problem with this is that you can't be matched to a similarly skilled opponent. You would have to ask them and trust them on what level they are. If they were a lot worse, I guess it'd be easy free points. If the opponent is better, you'd get good game experience.

-----------

NEVERMIND, my idea doesn't work. Players can edit the saved stats in the sc2 folder. Oops.
Mapmaker & TLMC Judge. Amygdala, Frostline, Crimson Court, and Korhal Compound (WoL).
NullCurrent
Profile Joined November 2010
Sweden245 Posts
Last Edited: 2011-01-25 10:29:51
January 25 2011 09:45 GMT
#4
I've developed a lot of PHP for a few years back (currently I'm studying on University, so I don't code much now), so if you think you need some help or so, PM me (I've coded SQL and database abstractions quite a lot, might be able to help with that).

EDIT: Have you considered converting it to a web application based on a PHP framework? (Like eg. Symfony or similar)
The Planetary Workshop - TPW - Mapmaking Team
baskerville
Profile Blog Joined April 2010
541 Posts
Last Edited: 2011-01-25 10:05:07
January 25 2011 10:02 GMT
#5
YEYYYY
i hate coding=love people who do it well
hope this get's off the ground, a custom ladder is the only answer to blizz's marketting meh

in any case i'm up for helping if i can (site hosting or other)...

just my 2 cents on "security" issues:
only player/mod/admin awareness/hard work can keep cheats out
a "system" is great, but nothing works without mod/admin double checks,
if any "custom ladder" is to be successful it needs "high profile" people to host it
i'm obviously not one of these and i'm that few have reacted to these "c ladders" initiative...

@ MAPPoVe have you read this thread? (i'm hoping u did)
http://www.teamliquid.net/mirror/smilies/random-big.gif
MAPPoVe
Profile Joined September 2010
86 Posts
January 25 2011 14:51 GMT
#6
Can you give an explanation on how you plan on tracking point? Hopefully it will be better than Blizzard's system. Secondly would it not be possible to implement support for other realms immediately since it is essentially an offline ladder since wins are calculated by replays.


I think I have to disappoint you for now. You get 9 points for winning and -5 for loosing
The match system is very static and basic at the moment.
Cross realm play is not possible, as long as blizzard doesn't allow it. I could add NA player support to this page but that would be stupid, because it would run independently from the EU players. I am planning on releasing all the code under GNU once I'm finished with the most stuff. This way somebody can host that page on NA server with NA people playing.

Lastly wouldn't this type of ladder be open to abuse as some players would only submit the replays where they win?

That would be ok, because only the winning player has to upload the replay file. You have an option to abandon a match once found. This way, when the opponent doesn't show or in case you loose you will be able to search a new game. The opponent will still be able to upload the replay.



Hmm... I don't quite understand how it is ladder on custom maps? Do you just submit replays and you judge them? If so, I don't think that will really work... maybe explain that part?.


The replays are saved in a MPQ-file format. Once uploaded the page analyzes the replay file and in case it matches the played game it adds points to winner, looser etc and ends the match. I personally have nothing to do with that.
The only problem are people who know how to manipulate the MPQ files, but that would be a handful I can tell.


I've developed a lot of PHP for a few years back (currently I'm studying on University, so I don't code much now), so if you think you need some help or so, PM me (I've coded SQL and database abstractions quite a lot, might be able to help with that).


That would be my situation as well. I am not familiar with PHP frameworks, maybe I check that out later. My concerns are mainly security. I hope I did everything fine, but I guess this will be tested when I release the page, I need people testing the page and reporting bugs and security issues. Things like SQL injections or similar shenanigans.
Also if you like you can take a look at the code some time in the future. There are probably a lot of performance improvements possible with the database. I am adding comments right now to the code to make it more viewable. Every dead professional php-programmer would probably turn over in one's grave^^


@ MAPPoVe have you read this thread? (i'm hoping u did)

Yes I did a while ago. Actually I started doing this project right afterwards, because I found that it was way to easy to cheat with that system.

my maps -> http://www.teamliquid.net/forum/viewmessage.php?topic_id=160218
HaRuHi
Profile Blog Joined November 2010
1220 Posts
January 25 2011 23:30 GMT
#7
I am really into custom maps. They brought back the fun to SC2 for me. I stopped laddering like 3 month ago and stopped watching major tournements 1 month ago ,because I was bored to death.

But still, I think this Ladder is a bit to much for the problem of the never changing mappool though, since we got chat channels now and it has become very easy to find people to play with on custom maps.
MAPPoVe
Profile Joined September 2010
86 Posts
January 26 2011 02:08 GMT
#8
But still, I think this Ladder is a bit to much for the problem of the never changing mappool though, since we got chat channels now and it has become very easy to find people to play with on custom maps.


That may be true, but of course you have to think long term, because at some point you want a ladder system like iccup back in bw that supports custom maps and has a ranking and stuff like that.
my maps -> http://www.teamliquid.net/forum/viewmessage.php?topic_id=160218
MAPPoVe
Profile Joined September 2010
86 Posts
January 27 2011 00:07 GMT
#9
Drumroll..

sc2 custom ladder

There you go. I've put some random maps in there which I think are pretty good. Can be changed anytime.

Please only join when you are on EU. As stated somewhere above, it would be possible to allow players from other Realms as well, but as long as Blizzard doesn't allow cross realm play it is senseless, because you would have to treat every Realm independently, thus causing unnecessary traffic.
It is much easier to host it again on another server only for e.g NA.

I think I am going to make a post in the general section, because to test it there need to be a couple of active players of course.

In case you encounter any bugs or errors, please feel free to contact me, either via PM or the contact side on the page.

my maps -> http://www.teamliquid.net/forum/viewmessage.php?topic_id=160218
Ragoo
Profile Joined March 2010
Germany2773 Posts
January 27 2011 00:30 GMT
#10
Wow, this has potential! I'll try to play as soon as I can.

You should definetely post this in general and get millions of sc2 nerds play on it ;P
Member of TPW mapmaking team/// twitter.com/Ragoo_ /// "goody represents border between explainable reason and supernatural" Cloud
HaRuHi
Profile Blog Joined November 2010
1220 Posts
January 29 2011 00:52 GMT
#11
That may be true, but of course you have to think long term, because at some point you want a ladder system like iccup back in bw that supports custom maps and has a ranking and stuff like that.


I still hope that Blizz, one day (think long term positiv), will have a fast rotation in the mappool. Until then I give this a shot.

One Question, why is Xel'naga in the Pool? It aint a bad map, but probably the most played casted map in SC2.

Maps I like and you may consider for future mappools:
Khalai Sanctum
Voronya
Mêlée Island
MAPPoVe
Profile Joined September 2010
86 Posts
January 29 2011 17:03 GMT
#12
I still hope that Blizz, one day (think long term positiv), will have a fast rotation in the mappool.


I played war3 a long time and I don't think this is going to happen^^

I think someone from Blizzard gave an interview on that topic, where he said that Blizz wants all kinds of maps in the pool to give the players more variety in their gaming experience.

As for the map pool as I said I just picked some random ones, I am currently having exams but after that I will take the time and test some maps out, maybe have a poll about is than.
Also I am currently working on a more dynamic Point and search system, trying to establish something similar to iccup system with Ranks A-D etc.


For now thanks for testing it out, wait for more to come.

my maps -> http://www.teamliquid.net/forum/viewmessage.php?topic_id=160218
Superouman
Profile Blog Joined August 2007
France2195 Posts
January 29 2011 18:01 GMT
#13
On January 25 2011 14:10 G_Wen wrote:Lastly wouldn't this type of ladder be open to abuse as some players would only submit the replays where they win?

Your opponent will upload the replays if you lose.
Search "[SO]" on B.net to find all my maps ||| Cloud Kingdom / Turbo Cruise '84 / Bone Temple / Eternal Empire / Zen / Purity and Industry / Golden Wall / Fortitude / Beckett Industries / Waterfall
TheDominator
Profile Blog Joined November 2009
New Zealand336 Posts
January 29 2011 18:28 GMT
#14
Thing is, the points that change can be determined in what order you win the games. Replays may take a long time for the opponent to upload, therefore will not be a great ladder system.
Also, do you really want to upload a replay every single game you win?
You can go a long way with a smile. You can go a lot farther with a smile and a gun.
Madsquare
Profile Joined April 2010
Germany157 Posts
January 29 2011 19:11 GMT
#15
Uploading could be automatized.
I do not obey any norms. I redefine standard with every thought I make.
NullCurrent
Profile Joined November 2010
Sweden245 Posts
Last Edited: 2011-01-29 19:25:05
January 29 2011 19:24 GMT
#16
On January 30 2011 03:28 TheDominator wrote:
Thing is, the points that change can be determined in what order you win the games. Replays may take a long time for the opponent to upload, therefore will not be a great ladder system.
Also, do you really want to upload a replay every single game you win?

I can agree with you on not wanting to upload replays after every game.
But then we have a problem: how should we calculate the skill of a player without having to take the order of the matches or the opponent played into account?

Because if we're going with skill I think the order matters, as if you play an opponent with higher skill than yours, then you should increase more than when you play one with lower skill than you.

What isn't based on order are these variables: wins, losses, played games, date, name of opponent (the opponent itself cannot be trusted as he may not have uploaded all of his matches yet, so his skill is unknown) and all the other information you can find in a single replay.

So, to be blunt, you cannot trust *any* state except for the number of wins and losses and other statistics for the uploading player when calculating skill.

Instead, we can use the the "shadow skill" (which is the strategy Blizzard uses, I think) updated only every week, then you just have to upload the replays once every weekend or so instead of after every game as the order won't matter within a single week.

If we can make a good statistic calculation of skill from a fixed set of metrics, that would be great as the order of games played wouldn't matter at all. But I don't think this is possible.
The Planetary Workshop - TPW - Mapmaking Team
MAPPoVe
Profile Joined September 2010
86 Posts
January 30 2011 14:22 GMT
#17
Uploading could be automatized.


Only in case you have another program running on the client-side.
I don't really get the problem. Uploading a replay doesn't take long (300 kb files) and the parser analyzes the replay in like 2000-3000 ms..

Instead, we can use the the "shadow skill" (which is the strategy Blizzard uses, I think) updated only every week, then you just have to upload the replays once every weekend or so instead of after every game as the order won't matter within a single week.


Thats very difficult because you have to validate the replays in order to calculate points, also I think that you won't remember all the matches you played in a week neither have all replays saved.
Also you need to have various open matches at once, which causes unnecessary problems in programming.
my maps -> http://www.teamliquid.net/forum/viewmessage.php?topic_id=160218
NullCurrent
Profile Joined November 2010
Sweden245 Posts
January 30 2011 16:21 GMT
#18
On January 30 2011 23:22 MAPPoVe wrote:
Show nested quote +
Uploading could be automatized.


Only in case you have another program running on the client-side.
I don't really get the problem. Uploading a replay doesn't take long (300 kb files) and the parser analyzes the replay in like 2000-3000 ms..

That time can be extended quite a lot if there are many people who are uploading replays. Usually bandwidth is not a problem, but the processing power required to parse a lot of replays will be limited.

On January 30 2011 23:22 MAPPoVe wrote:
Show nested quote +
Instead, we can use the the "shadow skill" (which is the strategy Blizzard uses, I think) updated only every week, then you just have to upload the replays once every weekend or so instead of after every game as the order won't matter within a single week.


Thats very difficult because you have to validate the replays in order to calculate points, also I think that you won't remember all the matches you played in a week neither have all replays saved.
Also you need to have various open matches at once, which causes unnecessary problems in programming.

What would a validation of a replay involve? Wouldn't it just require checking date, players and a few more variables?
Why would having many open matches be a problem? Wouldn't it just be to delete the open matches which haven't had a replay uploaded when their date expires?
The Planetary Workshop - TPW - Mapmaking Team
misirlou
Profile Joined June 2010
Portugal3237 Posts
Last Edited: 2011-01-30 17:36:44
January 30 2011 17:32 GMT
#19
On January 30 2011 23:22 MAPPoVe wrote:
Show nested quote +
Uploading could be automatized.


Only in case you have another program running on the client-side.
I don't really get the problem. Uploading a replay doesn't take long (300 kb files) and the parser analyzes the replay in like 2000-3000 ms..

Show nested quote +
Instead, we can use the the "shadow skill" (which is the strategy Blizzard uses, I think) updated only every week, then you just have to upload the replays once every weekend or so instead of after every game as the order won't matter within a single week.


Thats very difficult because you have to validate the replays in order to calculate points, also I think that you won't remember all the matches you played in a week neither have all replays saved.
Also you need to have various open matches at once, which causes unnecessary problems in programming.


easy way: a guy goes to the ladder, gets an oppoment. match is over. until either one of the players puts up the replay, they cant join the ladder. if the winner puts up you automaticaly give the loss and win to the proper guys. just get a condition to dont give 2 wins/losses in case both upload.

ofc u can change this to adapt to a system u would like. e.g. the shadow skill mentioned. u get your matchs, keep log of them. when the weekend comes u cant play anymore until u upload all the replays. u can upload them after the match or at the end of the day, doesnt matter, and make the necessary ladder points calculations afterwards
NullCurrent
Profile Joined November 2010
Sweden245 Posts
January 30 2011 18:06 GMT
#20
On January 31 2011 02:32 misirlou wrote:
Show nested quote +
On January 30 2011 23:22 MAPPoVe wrote:
Uploading could be automatized.


Only in case you have another program running on the client-side.
I don't really get the problem. Uploading a replay doesn't take long (300 kb files) and the parser analyzes the replay in like 2000-3000 ms..

Instead, we can use the the "shadow skill" (which is the strategy Blizzard uses, I think) updated only every week, then you just have to upload the replays once every weekend or so instead of after every game as the order won't matter within a single week.


Thats very difficult because you have to validate the replays in order to calculate points, also I think that you won't remember all the matches you played in a week neither have all replays saved.
Also you need to have various open matches at once, which causes unnecessary problems in programming.


easy way: a guy goes to the ladder, gets an oppoment. match is over. until either one of the players puts up the replay, they cant join the ladder. if the winner puts up you automaticaly give the loss and win to the proper guys. just get a condition to dont give 2 wins/losses in case both upload.

ofc u can change this to adapt to a system u would like. e.g. the shadow skill mentioned. u get your matchs, keep log of them. when the weekend comes u cant play anymore until u upload all the replays. u can upload them after the match or at the end of the day, doesnt matter, and make the necessary ladder points calculations afterwards

Why does it need to be so harsh on the users? I mean, by using that model you can easily ruin the experience for other players by joining a match and then you just refuse to play, which means that neither of you can join a new match (and this can also happen accidentally).

I think it would be better if you aren't forced to upload the replay, because if you for example cannot join the match, neither of the two players will be able to play another game until the open match has been removed from the system. So by not forcing the uploads, you make the whole system more reliable.
And if there is some kind of problem by eg. the server being overloaded so that it cannot parse enough replays, people will still be able to do matchmaking if they aren't forced to upload replays.
The Planetary Workshop - TPW - Mapmaking Team
1 2 Next All
Please log in or register to reply.
Live Events Refresh
Next event in 10h 7m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Nina 207
NeuroSwarm 149
ProTech80
StarCraft: Brood War
NaDa 77
Rock 42
LancerX 18
yabsab 18
Dota 2
febbydoto0
League of Legends
Grubby3122
Dendi1304
Counter-Strike
Stewie2K745
Heroes of the Storm
Khaldor177
Other Games
summit1g10656
tarik_tv6969
fl0m501
JimRising 367
ViBE144
Organizations
Other Games
BasetradeTV30
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 20 non-featured ]
StarCraft 2
• Berry_CruncH278
• davetesta46
• Hupsaiya 11
• Hunta15 1
• Migwel
• AfreecaTV YouTube
• sooper7s
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
StarCraft: Brood War
• Azhi_Dahaki4
• Pr0nogo 3
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
Dota 2
• Ler93
League of Legends
• Doublelift4972
• Jankos1797
• masondota2590
Upcoming Events
RSL Revival
10h 7m
Clem vs Classic
SHIN vs Cure
FEL
12h 7m
WardiTV European League
12h 7m
BSL: ProLeague
18h 7m
Dewalt vs Bonyth
Replay Cast
2 days
Sparkling Tuna Cup
2 days
WardiTV European League
2 days
The PondCast
3 days
Replay Cast
4 days
RSL Revival
4 days
[ Show More ]
Replay Cast
5 days
RSL Revival
5 days
FEL
5 days
RSL Revival
6 days
FEL
6 days
FEL
6 days
Liquipedia Results

Completed

BSL 2v2 Season 3
HSC XXVII
Heroes 10 EU

Ongoing

JPL Season 2
BSL Season 20
Acropolis #3
KCM Race Survival 2025 Season 2
CSL 17: 2025 SUMMER
Copa Latinoamericana 4
Championship of Russia 2025
RSL Revival: Season 1
Murky Cup #2
BLAST.tv Austin Major 2025
ESL Impact League Season 7
IEM Dallas 2025
PGL Astana 2025
Asian Champions League '25
BLAST Rivals Spring 2025
MESA Nomadic Masters
CCT Season 2 Global Finals
IEM Melbourne 2025

Upcoming

2025 ACS Season 2: Qualifier
CSLPRO Last Chance 2025
2025 ACS Season 2
CSLPRO Chat StarLAN 3
K-Championship
uThermal 2v2 Main Event
SEL Season 2 Championship
FEL Cracov 2025
Esports World Cup 2025
StarSeries Fall 2025
FISSURE Playground #2
BLAST Open Fall 2025
BLAST Open Fall Qual
Esports World Cup 2025
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual
IEM Cologne 2025
FISSURE Playground #1
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.