• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 22:31
CEST 04:31
KST 11:31
  • 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
Code S Season 2 - RO4 & Finals Results (2025)0Code S RO4 & Finals Preview: herO, Rogue, Classic, GuMiho0TL Team Map Contest #5: Presented by Monster Energy4Code S RO8 Preview: herO, Zoun, Bunny, Classic7Code S RO8 Preview: Rogue, GuMiho, Solar, Maru3
Community News
Weekly Cups (June 9-15): herO doubles on GSL week0Firefly suspended by EWC, replaced by Lancer8Classic & herO RO8 Interviews: "I think it’s time to teach [Rogue] a lesson."2Rogue & GuMiho RO8 interviews: "Lifting that trophy would be a testament to all I’ve had to overcome over the years and how far I’ve come on this journey.8Code S RO8 Results + RO4 Bracket (2025 Season 2)14
StarCraft 2
General
How herO can make history in the Code S S2 finals Firefly suspended by EWC, replaced by Lancer Rain's Behind the Scenes Storytime Code S Season 2 - RO4 & Finals Results (2025) Weekly Cups (June 9-15): herO doubles on GSL week
Tourneys
RSL: Revival, a new crowdfunded tournament series $3,500 WardiTV European League 2025 [GSL 2025] Code S: Season 2 - Semi Finals & Finals WardiTV Mondays Sparkling Tuna Cup - Weekly Open Tournament
Strategy
Simple Questions Simple Answers [G] Darkgrid Layout
Custom Maps
[UMS] Zillion Zerglings
External Content
Mutation # 478 Instant Karma Mutation # 477 Slow and Steady Mutation # 476 Charnel House Mutation # 475 Hard Target
Brood War
General
BGH Auto Balance -> http://bghmmr.eu/ ASL20 Preliminary Maps BW General Discussion Recent recommended BW games FlaSh Witnesses SCV Pull Off the Impossible vs Shu
Tourneys
[Megathread] Daily Proleagues [BSL 2v2] ProLeague Season 3 - Friday 21:00 CET Small VOD Thread 2.0 [BSL20] ProLeague Bracket Stage - Day 4
Strategy
I am doing this better than progamers do. [G] How to get started on ladder as a new Z player
Other Games
General Games
Stormgate/Frost Giant Megathread Nintendo Switch Thread Path of Exile Beyond All Reason What do you want from future RTS games?
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
Vanilla Mini Mafia TL Mafia Community Thread
Community
General
US Politics Mega-thread Things Aren’t Peaceful in Palestine UK Politics Mega-thread Echoes of Revolution and Separation Russo-Ukrainian War Thread
Fan Clubs
SKT1 Classic Fan Club! Maru Fan Club
Media & Entertainment
Korean Music Discussion [Manga] One Piece
Sports
2024 - 2025 Football Thread Formula 1 Discussion NHL Playoffs 2024 TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List
Blogs
A Better Routine For Progame…
TrAiDoS
StarCraft improvement
iopq
Heero Yuy & the Tax…
KrillinFromwales
I was completely wrong ab…
jameswatts
Need Your Help/Advice
Glider
Trip to the Zoo
micronesia
Customize Sidebar...

Website Feedback

Closed Threads



Active: 32398 users

Replay Rewind - a second look - Page 6

Forum Index > SC2 General
Post a Reply
Prev 1 4 5 6 7 Next All
jacen
Profile Blog Joined April 2004
Austria3644 Posts
April 06 2009 07:53 GMT
#101
On April 06 2009 03:21 NoNameLoser wrote:
look at replay playback as a multidimensional function which has some unique value (gamestate or snapshot if you will) at a given point in time. you are trying to invert it (feed time to get gamestate). The main problem i see is that it is not invertible by design, game engine only takes few parameters and then does complex uncontrollable loops that only go one way, forward.

Besides that the "function" is self recursive (things that happened early on effect how later things happen) so having an engine which will play things in reverse is out of the question without redesigning every aspect of it where every bit of information is stored.

yeah ... like when did i say that reversing the gameplay would be possible. reversing videostreams (other than back-playing I frames or prerendering b and p frames for reverse play) is also not technically possible. and since my explanation is largely based on this concept ... what gives.

but again, to state the obvious:
reversing the gameplay will not be possible.

On April 06 2009 03:21 NoNameLoser wrote:
If a unit was given a command to move from one corner of map to the other, AI logic will flow in one way, forward, and you wont be able to "loop back" because it cannot do that by design.

i see your point.
but with snapshots you don't have to loop back. you capture a state where the unit is inbetween it's start (left side of the map e.g.) and goal (right side of the map e.g.). as long as you ALSO capture its goal (right side) the ai will pick up as if the order was given at the snapshot.
if this would not be possible, you couldn't change unit's orders while they are executing them, only after they finished. and since we do know this is possible, it should also be possible to capture goals and feed them through snapshots.

so with snapshots you also only run forward through gamecode, you just have to be sure to capture all states that are relevant to it.

On April 06 2009 04:22 DeathSpank wrote:
K.....I'm getting fed up
LISTEN UP KIDS YOU CAN EASILY REWIND YOUR DAMNED REPLAYS!!!!
All Blizzard needs to do is set it up so that when you click a different position on the replay time bar the replay automatically restarts and runs in fast forward(as fast as they can possibly get it) until it reaches the specific point in time. Is it perfect? no but as we have already fucking figured out by now Sc2 isn't set up in a way that would make this easier.FIN

let me state a few things here

-) noone outside blizz has seen a sc2 replay yet
-) noone outside knows the game and replay code

so saying "by now Sc2 isn't set up in a way that would make this easier" is a little too much speculation imho. as stated above, replays could be at least "back-skippable" through some sort of snapshots ( compare to Intra-Frames: http://en.wikipedia.org/wiki/Intra_frame ), without having to restart and fast forward the game.

On April 06 2009 12:04 DeCoup wrote:
This process could be further refined to lower ram costs by taking the fast forward function into account. If for example you know you can fast forward at 44x speed. Why take a state every second, when it would take 1 second to process 44 seconds of play? If those (made up) numbers are accurate you would at most take a save state every 44 seconds. The point is that by taking both save state, and fast forward speed into account you can create a significantly less ram consuming advanced system.

i seriously doubt the 44x speed value for sc2. seeing as 8x speed had troubles producing smooth framerates during war3 and even tft launch on mid-range hardware, i am not seeing this happening.


i'm interested ... let's do some math.
assuming the replay controls will have about the same screensize in sc2 as they had in sc and war3 we have 25% of screenwidth (war3 has just 20%) availible for a replay progress bar. assuming a resolution of 1920x1200, we end up having 480pixels worth of progress bar estate.
now most games will be less than 40 minutes or 2400 seconds. if you create snapshots every 5th seconds, you end up getting 480 snapshots in 40 minutes or 240 snapshots in 20 minutes. that means that in a 20 minute game, every snapshot only occupies 2 pixels at one of the highest resolutions availible for mass consumers. considering that many people will still play 1280x1024, they will end up getting almost exactly 1 snapshot per pixel during a 20 minute game (256pixels covering 240 snapshots).

conclusion:
snapping more often than 5 seconds will not be noticable in a vast majority of cases. you will need games under 10 minutes and resoltions over 1680px width to have one snapshot streching over 3 pixels. this seems to be reasonably good accuracy if you want to enable back-skipping in replays.
(micronesia) lol we aren't going to just permban you (micronesia) "we" excludes Jinro
KameZerg
Profile Blog Joined May 2007
Sweden1761 Posts
April 06 2009 18:06 GMT
#102
I Already asked this question to dustin when the game was announced....
asdasdasdasdasd123123123
houseurmusic
Profile Blog Joined September 2006
United States544 Posts
Last Edited: 2009-08-24 20:14:17
August 24 2009 17:36 GMT
#103
On March 31 2009 17:02 Bill307 wrote:
Show nested quote +
On March 31 2009 15:48 Polyphasic wrote:
But let's look back at the replay-rewind option, and we'll see that it's actually not technically impossible, nor is it technically difficult.
...
But this can easily - I repeat, EASILY be solved - and the previous thread's assertions that it is difficult is actually null. only a little bit of technical thinking reaches a solution that is easily implemented.
...
this might sound technical to non-programmers, but being a C++ and Java programmer, this is actually very easy.

LOL

LOL

LOL

Do you have ANY idea how hard your idea is?

Granted I don't know what StarCraft 2's game engine really looks like, but I can take a pretty good guess.

StarCraft 2's engine is programmed so that time elapses in only one direction: forwards.

In order to play a replay backwards, you would basically have to rewrite the ENTIRE engine all over again.

Even something as simple as a dragoon's projectile homing-in on a target: ask yourself how the heck you would determine its trajectory in reverse, keeping in mind both the dragoon and its target may have been moving while the projectile was travelling. Off the top of my head, I haven't got a clue. And when you do figure it out, you'll probably find that it requires completely different code from the function used to home-in on a target.

That's just one small example of how pretty much the ENTIRE game would have to be redone.

Furthermore, since you're writing so much new code to handle playing events in reverse, you also have to TEST this code. Now normal replays don't need to be tested very much because they run using (essentially) the same engine as an actual game, so you know 95% of the code they're running works because you've already tested it during actual games. This isn't true for your new reverse-engine.


My gosh, it amuses me how little so many "programmers" know about actual game programming. (A certain post in the "nuke dot" topic comes to mind...) Even I don't know that much. Still, it's a basic rule of software development that any change you want to make that you didn't anticipate beforehand will be a pain in the ass to implement.

So at this point in SC2's life cycle, pretty much ANY change to the game engine will be a nightmare, no matter how "easy" it may seem.

But this is all beside the point in this topic, because the whole idea of playing replays in reverse, for a game as intricate as StarCraft, is a ludicrous suggestion.


sorry for the thread bump but it appears a lot people got PWNED this blizzcon. It was announced (edit: apparently it was announced pre blizzcon but I missed it) that replays will have the rewind ability. Of course I am not pointing any fingers
kerr0r
Profile Joined September 2008
Norway319 Posts
August 24 2009 17:47 GMT
#104
On August 25 2009 02:36 houseurmusic wrote:
Show nested quote +
On March 31 2009 17:02 Bill307 wrote:
On March 31 2009 15:48 Polyphasic wrote:
But let's look back at the replay-rewind option, and we'll see that it's actually not technically impossible, nor is it technically difficult.
...
But this can easily - I repeat, EASILY be solved - and the previous thread's assertions that it is difficult is actually null. only a little bit of technical thinking reaches a solution that is easily implemented.
...
this might sound technical to non-programmers, but being a C++ and Java programmer, this is actually very easy.

LOL

LOL

LOL

Do you have ANY idea how hard your idea is?

Granted I don't know what StarCraft 2's game engine really looks like, but I can take a pretty good guess.

StarCraft 2's engine is programmed so that time elapses in only one direction: forwards.

In order to play a replay backwards, you would basically have to rewrite the ENTIRE engine all over again.

Even something as simple as a dragoon's projectile homing-in on a target: ask yourself how the heck you would determine its trajectory in reverse, keeping in mind both the dragoon and its target may have been moving while the projectile was travelling. Off the top of my head, I haven't got a clue. And when you do figure it out, you'll probably find that it requires completely different code from the function used to home-in on a target.

That's just one small example of how pretty much the ENTIRE game would have to be redone.

Furthermore, since you're writing so much new code to handle playing events in reverse, you also have to TEST this code. Now normal replays don't need to be tested very much because they run using (essentially) the same engine as an actual game, so you know 95% of the code they're running works because you've already tested it during actual games. This isn't true for your new reverse-engine.


My gosh, it amuses me how little so many "programmers" know about actual game programming. (A certain post in the "nuke dot" topic comes to mind...) Even I don't know that much. Still, it's a basic rule of software development that any change you want to make that you didn't anticipate beforehand will be a pain in the ass to implement.

So at this point in SC2's life cycle, pretty much ANY change to the game engine will be a nightmare, no matter how "easy" it may seem.

But this is all beside the point in this topic, because the whole idea of playing replays in reverse, for a game as intricate as StarCraft, is a ludicrous suggestion.


sorry for the thread bump but it appears a lot people got PWNED ages ago. It was announced ages ago that replays will have the rewind ability. Of course I am not pointing any fingers

Fixed.
hixhix
Profile Blog Joined September 2004
1156 Posts
August 24 2009 17:51 GMT
#105
Who get pwned? It seems like you dont have any clue at all and still dont understand shit after much debate. Normal rewind is still impossible and always impossible unless blizz wants to save every frame, which is obviously not doable due to the excessive storage.

Current rewind is not the rewind like what you have in the video player. In the current rewind system, they save the key frame every short internval of time, like 10 secs, 20 secs..., so the user can jump back 10 secs, etc.. in the replay. The shorter the difference time between each key frame is, the *smoother* the rewind becomes but also the size of the replay increases greatly. If the interval time is 1 frame, then we have the perfect rewind. Blizz has been talking about trying to implement such thing long time ago and we also know about this.

The difficulty is how to find a good difference time between the key frames so that the rewind feature and the size of replay are acceptable. The only new thing here is that Blizz announces they have successfully implemented such feature.
Polis
Profile Joined January 2005
Poland1292 Posts
August 24 2009 18:18 GMT
#106
Why can't the extra data just be stored in temporary file that is created while you are watching the replay?
Chill
Profile Blog Joined January 2005
Calgary25977 Posts
August 24 2009 18:21 GMT
#107
Because it saves the state of the entire game in that extra data. You can't generate that data from nothing.

And houseurmusic, you don't understand the announcement or the problems with your suggestion. Replay rewind works as hixhix explained, with keyframes, and this has been announced for at least a month, if not several.
Moderator
andiCR
Profile Blog Joined March 2008
Costa Rica2273 Posts
August 24 2009 18:30 GMT
#108
tec27, did you get to test the solution we proposed for sc1 bw rewind?
Nightmare1795 wrote: I played a guy in bronze who said he was Japanese. That was the only game I ever dropped a nuke, which was purely coincidental.
Polis
Profile Joined January 2005
Poland1292 Posts
August 24 2009 19:30 GMT
#109
On August 25 2009 03:21 Chill wrote:
Because it saves the state of the entire game in that extra data. You can't generate that data from nothing.


If you are watching replay then you don't generate that data?
Liquid`Jinro
Profile Blog Joined September 2002
Sweden33719 Posts
August 24 2009 19:50 GMT
#110
On August 25 2009 03:21 Chill wrote:
Because it saves the state of the entire game in that extra data. You can't generate that data from nothing.

And houseurmusic, you don't understand the announcement or the problems with your suggestion. Replay rewind works as hixhix explained, with keyframes, and this has been announced for at least a month, if not several.

They actually talked about it the first time LAST blizzcon (2008) then announced it 2 or so months ago?
Moderatortell the guy that interplanatar interaction is pivotal to terrans variety of optionitudals in the pre-midgame preperatories as well as the protosstinal deterriggation of elite zergling strikes - Stimey n | Formerly FrozenArbiter
houseurmusic
Profile Blog Joined September 2006
United States544 Posts
Last Edited: 2009-08-24 20:18:53
August 24 2009 19:54 GMT
#111
Well it was new information to me however it works. I just remembered so much flaming from this particular thread and giggled when I heard it talked about during the panel. I didn't get into the discusion here because I believed in general what bill posted.
hixhix
Profile Blog Joined September 2004
1156 Posts
Last Edited: 2009-08-24 20:26:41
August 24 2009 20:25 GMT
#112
On August 25 2009 03:18 Polis wrote:
Why can't the extra data just be stored in temporary file that is created while you are watching the replay?


You mean they can generate the key frames on fly while watching the replay to reduce the size of replay? That's doable for sure, and it comes with several cons and pros:

Pros:
- Smaller size of the replays, virtually a replay file contains the same data as wc3 and sc1 replays.

Cons:
- Everytime you watch a same replay, a large amount of the same data is generated.
- Time-consuming. Imagine watching every replay is like you play sc1 and save the game every 10 seconds. If all key frames are saved once and used many times, it's faster.

So I guess the primary trade-off between generating key frames on fly and saving all the key frames once is the replay file size and processing time. Blizz probably tried both ways, or even combined them to get an efficient solution.
Chill
Profile Blog Joined January 2005
Calgary25977 Posts
August 24 2009 20:36 GMT
#113
On August 25 2009 04:30 Polis wrote:
Show nested quote +
On August 25 2009 03:21 Chill wrote:
Because it saves the state of the entire game in that extra data. You can't generate that data from nothing.


If you are watching replay then you don't generate that data?

I really doubt they would do that because it would feel like a really 2002 solution. Like you can't fastforward anything or rewind unless you've already gone past that point at 1x speed. It would feel like buffering something that's already on your computer.

I suppose alternatively, when you load a replay, the program could quickly run the entire game at 1000x speed or something to generate the keyframes, but I would guess that runs into other technical problems, specifically for 4 hour long games. I think having larger replays is fine.
Moderator
Badjas
Profile Blog Joined October 2008
Netherlands2038 Posts
August 24 2009 20:52 GMT
#114
There's always the possibility of the replay storing key frames at bigger intervals, and that on demand, on smaller intervals keyframes are remembered, or generated in advance within local watching context or something.. there's a solution that scales.
I <3 the internet, I <3 you
alt.tday
Profile Joined April 2009
United States180 Posts
August 24 2009 20:53 GMT
#115
they should just record the video, not every action
♠Spades ♣Clubs ♥Hearts ♦Diamonds ★★★★★
Badjas
Profile Blog Joined October 2008
Netherlands2038 Posts
August 24 2009 21:02 GMT
#116
On August 25 2009 05:53 alt.tday wrote:
they should just record the video, not every action

Most video formats also apply key frames with difference frames to optimize storage while supporting winding (and probably also to improve accuracy with lossy compression being applied).
Funny thing eh?
Serious answer though. Storing video would be horribly less efficient in terms of memory and in terms of visual quality, not to mention all the features you're gonna do without such as free roaming on the map while playback is happening, being able to see in-game statistics and probably more.
I <3 the internet, I <3 you
kerr0r
Profile Joined September 2008
Norway319 Posts
August 24 2009 22:06 GMT
#117
On August 25 2009 05:52 Badjas wrote:
There's always the possibility of the replay storing key frames at bigger intervals, and that on demand, on smaller intervals keyframes are remembered, or generated in advance within local watching context or something.. there's a solution that scales.

So what you're saying is that they (for example) store keyframes at 30 second intervals, and to rewind to 3:42, it starts at 3:30 and fast forwards through 12 seconds lightning fast before it resumes playing?
tec27
Profile Blog Joined June 2004
United States3696 Posts
August 24 2009 22:20 GMT
#118
On August 25 2009 03:30 never_toss wrote:
tec27, did you get to test the solution we proposed for sc1 bw rewind?

I started working on it but then got busy doing other stuff. Haven't really looked at it since. Guess its still just as doable, but I'm not sure when/if I'll get around to it.

On August 25 2009 07:06 kerr0r wrote:
Show nested quote +
On August 25 2009 05:52 Badjas wrote:
There's always the possibility of the replay storing key frames at bigger intervals, and that on demand, on smaller intervals keyframes are remembered, or generated in advance within local watching context or something.. there's a solution that scales.

So what you're saying is that they (for example) store keyframes at 30 second intervals, and to rewind to 3:42, it starts at 3:30 and fast forwards through 12 seconds lightning fast before it resumes playing?

There's not much a reason to discuss possible solutions any more. There's really only like 3 different ways to do it, pretty much, and all of them have already been discussed to death in this/other threads on here.
Can you jam with the console cowboys in cyberspace?
DeCoup
Profile Joined September 2006
Australia1933 Posts
August 25 2009 01:14 GMT
#119
At Blizzcon 09 they declaired that they have now worked out how to perform replay rewind.
They told us it could not be done, but we found a way

So now we don't have to worry about using bodgy time stepping or recording video which can be rewound. They have working rewind.
"Poor guy. I really did not deserve that win. So this is what it's like to play Protoss..." - IdrA
Tom Phoenix
Profile Blog Joined January 2009
1114 Posts
August 25 2009 02:17 GMT
#120
On August 25 2009 10:14 DeCoup wrote:
At Blizzcon 09 they declaired that they have now worked out how to perform replay rewind.
Show nested quote +
They told us it could not be done, but we found a way

So now we don't have to worry about using bodgy time stepping or recording video which can be rewound. They have working rewind.


But as hixhix mentioned, it does not work the same way as a video recorder rewind.
You and your "5 years of competitive RTS experience" can take a hike. - FrozenArbiter
Prev 1 4 5 6 7 Next All
Please log in or register to reply.
Live Events Refresh
Replay Cast
00:00
2025 GSL S2 - Ro8 Group B
CranKy Ducklings132
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
PiGStarcraft742
Nina 159
ROOTCatZ 74
Ketroc 55
StarCraft: Brood War
Britney 15020
Artosis 844
HiyA 151
Sharp 77
Icarus 11
ajuk12(nOOB) 5
Dota 2
monkeys_forever654
LuMiX1
League of Legends
Trikslyr83
Counter-Strike
Stewie2K785
Other Games
summit1g5800
C9.Mang01049
shahzam804
WinterStarcraft424
Maynarde143
Mew2King106
Temp012
Organizations
Other Games
gamesdonequick1730
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 13 non-featured ]
StarCraft 2
• Berry_CruncH299
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Stunt183
Other Games
• Scarra945
Upcoming Events
RSL Revival
7h 30m
Cure vs Percival
ByuN vs Spirit
WardiTV Qualifier
13h 30m
PiGosaur Monday
21h 30m
RSL Revival
1d 7h
herO vs sOs
Zoun vs Clem
Replay Cast
1d 21h
The PondCast
2 days
RSL Revival
2 days
Harstem vs SHIN
Solar vs Cham
Replay Cast
2 days
RSL Revival
3 days
Reynor vs Scarlett
ShoWTimE vs Classic
uThermal 2v2 Circuit
3 days
[ Show More ]
SC Evo League
4 days
Circuito Brasileiro de…
4 days
Sparkling Tuna Cup
5 days
Liquipedia Results

Completed

Acropolis #3 - GSC
2025 GSL S2
Heroes 10 EU

Ongoing

JPL Season 2
BSL 2v2 Season 3
BSL Season 20
Acropolis #3
KCM Race Survival 2025 Season 2
NPSL S3
Rose Open S1
CSL 17: 2025 SUMMER
Copa Latinoamericana 4
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
YaLLa Compass Qatar 2025
PGL Bucharest 2025

Upcoming

CSLPRO Last Chance 2025
CSLPRO Chat StarLAN 3
K-Championship
SEL Season 2 Championship
Esports World Cup 2025
HSC XXVII
Championship of Russia 2025
BLAST Open Fall 2025
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.