Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Program Announcements / Tempest - A peer-to-peer UDP multiplayer plugin - Free release

Author
Message
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 21st Mar 2006 05:08
The plugin itself works, it's DBP that is the cause of the example not working. Hopefully all will be working again with the release of U6.

Tempest - P2P UDP Multiplayer Plugin - 70%
Download the free version
Hamish McHaggis
21
Years of Service
User Offline
Joined: 13th Dec 2002
Location: Modgnik Detinu
Posted: 21st Mar 2006 21:03
Ben - The update seems not to have helped. Test this:



Impreza
22
Years of Service
User Offline
Joined: 7th Nov 2002
Location:
Posted: 21st Mar 2006 21:44
Benjamin, plz make this dbc compatible.. don't forget about us.

set mipmap mode 1: set matrix texture 1,1,1: set spot light 1,0,90: set normalization on: sync rate 0: statistic(1): flush video memory
autocam off: always active on: hide mouse: set window on
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 22nd Mar 2006 00:15 Edited at: 22nd Mar 2006 00:16
Quote: " Ben - The update seems not to have helped. Test this:"

Fixed. Download it here.

Quote: " Benjamin, plz make this dbc compatible.. don't forget about us.
"

Alright, I'll see what I can do.

Tempest - P2P UDP Multiplayer Plugin - 70%
Download the free version

Attachments

Login to view attachments
Tifu
20
Years of Service
User Offline
Joined: 13th Sep 2004
Location: Scotland
Posted: 27th Mar 2006 02:07
Wow, this is so easy to use. My first test run of sending some data between players and it works perfectly

Very excellent plugin, much thanks for your hard work

Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 27th Mar 2006 03:45
Glad you like it

Tempest - P2P UDP Multiplayer Plugin - 70%
Download the free version
Impreza
22
Years of Service
User Offline
Joined: 7th Nov 2002
Location:
Posted: 29th Mar 2006 03:31 Edited at: 29th Mar 2006 03:44
Here is a formatted version of the tempest source code
for dbc. Thank you for the excellent plug-in benjamin..

A couple notes:

1.) The program connects through port 9000
2.) Type in either number 1 or 2 for choice of host or client
2.) With Depends, I got all the proper names of the functions
contained within the dll, since db has a cow if you do not enter
the functions verbatim, and they are as follows:

Connected
Disconnect
GetByte
GetDemoTime
GetErrorString
GetFloat
GetInt
GetMaximumPlayers
GetMessageID
GetMessageSize
GetMsg
GetPlayerIP
GetPlayerName
GetPlayerPort
GetString
GetThisID
GetWord
Host
Join
Kill
LockMessage
NewPlayer
PlayerExist
PlayerFrom
PutByte
PutFloat
PutInt
PutString
PutWord
Send
SendAll
SendAllR
SendR
SetDebugMode
SetLocalPort
SetLocalPorts
SetMessageID
SetOption
SetPassword
SetRemotePort
SetRemotePorts
Sync
UnlockMessage

3.) I put it in a zip file since I know
some people have this thing against winrar

Hope you like my re-write!

set mipmap mode 1: set matrix texture 1,1,1: set spot light 1,0,90: set normalization on: sync rate 0: statistic(1): flush video memory
autocam off: always active on: hide mouse: set window on

Attachments

Login to view attachments
Impreza
22
Years of Service
User Offline
Joined: 7th Nov 2002
Location:
Posted: 29th Mar 2006 03:48 Edited at: 29th Mar 2006 03:51
I also have some questions to ask you Benjamin about your dll, I am considering either using this, multisync, verse (http://www.uni-verse.org/Downloads.58.0.html), or barnski's for my racing game. Do you have any suggestions?

set mipmap mode 1: set matrix texture 1,1,1: set spot light 1,0,90: set normalization on: sync rate 0: statistic(1): flush video memory
autocam off: always active on: hide mouse: set window on
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 29th Mar 2006 03:56 Edited at: 29th Mar 2006 03:59
Ah thanks for going to the trouble of doing this, but there are some things that require changing(like for instance string returning) and I am in the process of making it compatible at the moment. One of the things I have done is change all the function names to names that match the command names themselves. It kind of works at the stage I have it at now, although I am getting a crash when I try to use a DBC host and DBP client.

Quote: "I also have some questions to ask you Benjamin about your dll, I am considering either using this, multisync, verse (http://www.uni-verse.org/Downloads.58.0.html), or barnski's for my racing game. Do you have any suggestions?"

Well, by the looks of it barnski's DLL may be more stable, but I think some might find Multisync easier to use. I've never used Uni-Verse so I can't really comment on that.

Tempest - P2P UDP Multiplayer Plugin - 70%
Download the free version
Cash Curtis III
21
Years of Service
User Offline
Joined: 12th May 2003
Location: Toronto, Canada
Posted: 2nd Apr 2006 18:22
benjamin ur plugin does not work at all. plz learn how to program before u make this type of stuf for the cummunity

thx

bruce.bmp
Mnemonix
21
Years of Service
User Offline
Joined: 2nd Dec 2002
Location: Skaro
Posted: 2nd Apr 2006 18:30
@480 Chillaxed Programmer 480




Quote: " benjamin ur plugin does not work at all. plz learn how to program before u make this type of stuf for the cummunity

thx"


LOL LERN HOW TO SPLEL BEFORE MKAING URSLEF LUK A FULE!!11one

WE SHALL BECOME ALL POWERFUL! CRUSH THE LESSER RACES! CONQUER THE GALAXY! UNIMAGINABLE POWER! UNLIMITED RICE PUDDING ! ! ! ETC. ! ! ! ETC.! ! !
Lukas W
21
Years of Service
User Offline
Joined: 5th Sep 2003
Location: Sweden
Posted: 2nd Apr 2006 20:29
Quote: "URSLEF LUK A FULE!!11"

oi. dont miss-use my name!

my forum - still in development
Freddy 007
19
Years of Service
User Offline
Joined: 30th Nov 2004
Location: Denmark
Posted: 2nd Apr 2006 23:38
Benjasmin, I'm a great fan of you! Nice plugin.

Sergey K
20
Years of Service
User Offline
Joined: 4th Jan 2004
Location:
Posted: 2nd Apr 2006 23:46
Quote: "benjamin ur plugin does not work at all. plz learn how to program before u make this type of stuf for the cummunity"


what a newbie lol
as you can see, we all using it and it works fine here.

MyNewSite:http://gogetax.com
Forums(About BLO and more):http://gogetax.com/forum
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 3rd Apr 2006 16:46
Update
Tempest is now compatible with DBCe. See the first post for more information.

Quote: " Benjasmin, I'm a great fan of you! Nice plugin."

You only posted so you could call me Benjasmin, didn't you?

Tempest - P2P UDP Multiplayer Plugin (DBP/DBCe) - 71%
Download the free version
Hamish McHaggis
21
Years of Service
User Offline
Joined: 13th Dec 2002
Location: Modgnik Detinu
Posted: 5th Apr 2006 20:49
Quote: "Quote: " Benjasmin, I'm a great fan of you! Nice plugin."
You only posted so you could call me Benjasmin, didn't you? "


There are far worse things that you can add onto the end of the name "Ben" .

I found another damned bug, this time it is if you disconnect and join more than once .

Here is teh codes. You will see that the first time you rejoin (the codes do this automatically as I am using the same code as before) everything is dandy. However, press space to rejoin again and the second slot remains filled with a "phantom" player, while the newly joined player fills the third slot.

Eventually the client performs a magnificent silent crash, although, in this time you can add a large number of these players by constantly rejoining, although sometimes the last slot does appear to be vacated as it should be, and the player list doesn't grow.



Duke Blue Devils
18
Years of Service
User Offline
Joined: 11th Mar 2006
Location:
Posted: 6th Apr 2006 01:28 Edited at: 6th Apr 2006 01:29
@Bejamin
So I can use your plugin to get the port number to forward incoming messages to my local IP on my network? Right? That's how I can send messages across the internet and not just through my home network. The client would connect to my router's external IP and then the clients message can be sent to the servers local IP using the port number. Am I correct?

Visit the official Chicago Rush website
http://chicagorush.servegame.com/index.php
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 6th Apr 2006 02:56
@Hamish: I'll have it fixed as soon as possible.

Quote: "So I can use your plugin to get the port number to forward incoming messages to my local IP on my network?"

The port number of what?

Quote: "The client would connect to my router's external IP and then the clients message can be sent to the servers local IP using the port number. Am I correct?"

Yes, but you must also set up port forwarding on your router.

Tempest - P2P UDP Multiplayer Plugin (DBP/DBCe) - 71%
Download the free version
Duke Blue Devils
18
Years of Service
User Offline
Joined: 11th Mar 2006
Location:
Posted: 6th Apr 2006 03:45
@Benjamin
I mean can I use your plugin to specify a port number for the server to use to forward all of the client messages to its internal ip, or is that what port forwarding is for? Otherwise do I use port forwarding to send messages from external ip to internal ip. Do I send client messages to the router's external ip then it is forwarded to the servers internal ip through port forwarding?

Visit the official Chicago Rush website
http://chicagorush.servegame.com/index.php
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 6th Apr 2006 04:30
Quote: "I mean can I use your plugin to specify a port number for the server to use to forward all of the client messages to its internal ip, or is that what port forwarding is for?"

That's what port forwarding is for.

Quote: "Do I send client messages to the router's external ip then it is forwarded to the servers internal ip through port forwarding?"

Yes. http://www.portforward.com

Tempest - P2P UDP Multiplayer Plugin (DBP/DBCe) - 71%
Download the free version
Duke Blue Devils
18
Years of Service
User Offline
Joined: 11th Mar 2006
Location:
Posted: 7th Apr 2006 00:55 Edited at: 7th Apr 2006 01:15
Can I set up port forwarding on a computer connected to my home network with a USB wireless adapter? I can't seem to find any info on how to set up port forwarding with a Netgear WG111 USB adapter.

Edit
I think I figured it out. I was trying to connect to the "IP address" that is returned when I type ipconfig into MSDOS. Instead I tried typing the "Default Gateway" address and I think I found what I was looking for.

Visit the official Chicago Rush website
http://chicagorush.servegame.com/index.php
Duke Blue Devils
18
Years of Service
User Offline
Joined: 11th Mar 2006
Location:
Posted: 7th Apr 2006 03:14
@Benjamin
Using your plugin how to I specify what port the client should send messages to/what port the server should open to incoming messages?

Visit the official Chicago Rush website
http://chicagorush.servegame.com/index.php
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 7th Apr 2006 12:56
Quote: "Using your plugin how to I specify what port the client should send messages to/what port the server should open to incoming messages?"

Have a look at the manual.

Tempest - P2P UDP Multiplayer Plugin (DBP/DBCe) - 71%
Download the free version
Duke Blue Devils
18
Years of Service
User Offline
Joined: 11th Mar 2006
Location:
Posted: 7th Apr 2006 15:35 Edited at: 7th Apr 2006 15:40
Ok thanks, but does tempest use UDP ports or TCP ports? Are 3998 and 3999 the default ports for the server? Also for the client would I use the external IP of the server for the TJoin command? Then when I use TSend does it automatically determine the IP to send the message to? Do I have to set up port forwarding for the client if it is behind a router? I would appreciate any help you can provide.

Visit the official Chicago Rush website
http://chicagorush.servegame.com/index.php
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 7th Apr 2006 19:48
Some of those questions are answered in the manual.

Quote: " Also for the client would I use the external IP of the server for the TJoin command?"

If you mean the external IP of the LAN, then yes.

Quote: "Then when I use TSend does it automatically determine the IP to send the message to?"

Yes.

Tempest - P2P UDP Multiplayer Plugin (DBP/DBCe) - 71%
Download the free version
Duke Blue Devils
18
Years of Service
User Offline
Joined: 11th Mar 2006
Location:
Posted: 7th Apr 2006 23:58 Edited at: 7th Apr 2006 23:59
Quote: "Tempest- P2P UDP Multiplayer Plugin (DBP/DBCe)"

I guess it uses UDP ports then. What's the difference between TCP and UDP anyway?

Quote: "Firewall & Router Information
If you are using a firewall: Enable UDP ports 3998 and 3999.

If your computer is operating behind a router: Forward ports 3998 and 3999 to your computer. If you host behind a router, then you must host using the address the router gives your computer. You can retrieve this from ipconfig."


Do I have to use ports 3998 and 3999 or can I change them? What are those ports for?

Visit the official Chicago Rush website
http://chicagorush.servegame.com/index.php
Duke Blue Devils
18
Years of Service
User Offline
Joined: 11th Mar 2006
Location:
Posted: 8th Apr 2006 04:06 Edited at: 8th Apr 2006 06:45
You can disregard my last post as I think I understand.

I've finally written host and client programs using Tempest. The problem is trying to connect the two. For the host I can either specify the ip address as the computer's local ip address (obtained from ipconfig) or 127.0.0.1 and it establishes a host connection. The question is what ip do I use for the client in the TJoin command? I've tried 127.0.0.1 and I get a "10054 Error" however the client log does say that the client is connected successfully until I get this error. If I try using the host's remote/external ip (which is what I thought you had to do) the client program doesn't connect at all. I've created a pretty nice chat app using Tempest and I want to see it working.

Edit
I seem to have got the programs to connect because the client can join the hosted game but I still don't see any messages being sent. I think I may be using the TGetMessage command incorrectly. Either that or the local and remote ports are messed up although I didn't change them from their default.

Edit
The client can connect to the host but there are still no messages being sent between the two. How can this be? What might be the problem(s)? Does TGetMessage work correctly in DBC? Why does it not recognize that a message is being sent?

Visit the official Chicago Rush website
http://chicagorush.servegame.com/index.php
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 8th Apr 2006 13:14
Quote: "I've tried 127.0.0.1 and I get a "10054 Error" however the client log does say that the client is connected successfully until I get this error."

Ignore that error, it is normal. If it connected fine then the IP address is correct.

Quote: "If I try using the host's remote/external ip (which is what I thought you had to do) the client program doesn't connect at all"

If both the host and the client are on the same LAN(or on the same computer on a LAN) then the IP address specified cannot be the router's internet address, it must be the computer's LAN address.

Quote: "What might be the problem(s)?"

Without seeing your code I have no idea.

Tempest - P2P UDP Multiplayer Plugin (DBP/DBCe) - 71%
Download the free version
Duke Blue Devils
18
Years of Service
User Offline
Joined: 11th Mar 2006
Location:
Posted: 8th Apr 2006 16:13
@Benjamin
I've emailed you the source code. I would appreciate it if you would take a took at it and get back to me.

Thanks a lot!

Visit the official Chicago Rush website
http://chicagorush.servegame.com/index.php
Duke Blue Devils
18
Years of Service
User Offline
Joined: 11th Mar 2006
Location:
Posted: 9th Apr 2006 07:25
@Benjamin
Have you gotten a chance to take a look at my code? I was experimenting with it when I discovered that there is a discrepency between what the logs say and what TConnected returns. The logs say that the host and client are connected but TConnected and TGetThisId both return zeros. This doesn't make any sense? Also I was reading the manual and saw that if TSync isn't called every twenty seconds it can result in a disconnection. Does this mean I can't use input string to type messages because it pauses the program?

Visit the official Chicago Rush website
http://chicagorush.servegame.com/index.php
Duke Blue Devils
18
Years of Service
User Offline
Joined: 11th Mar 2006
Location:
Posted: 9th Apr 2006 22:33 Edited at: 9th Apr 2006 22:34
@Benjamin
I FINALLY FIGURED OUT WHAT MY PROBLEM WAS. On all of the commands that simply return a value/string and don't require any parameters I left out the () at the end of the command.
Ex:
TGetMessage instead of TGetMessage()

What a stupid mistake. But you should really put emphasis on this in your manual. It caused me a lot of agravation. Only a few more bugs to work out before I have my program up and running.

BTW Where have you been lately???

Visit the official Chicago Rush website
http://chicagorush.servegame.com/index.php
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 9th Apr 2006 22:41 Edited at: 9th Apr 2006 22:41
Ah, I noticed that when I had a look earlier. I didn't think it would cause any problems(because that kind of thing doesn't produce a compiler error, which means it should be alright). Blame DBC, not me.

Quote: "But you should really put emphasis on this in your manual"

It's nothing Tempest-specific though, it would do it with any other functions.

Tempest - P2P UDP Multiplayer Plugin (DBP/DBCe) - 71%
Download the free version
Duke Blue Devils
18
Years of Service
User Offline
Joined: 11th Mar 2006
Location:
Posted: 10th Apr 2006 07:17 Edited at: 10th Apr 2006 07:18
@Benjamin
My chat program is finally working thanks to you and your excellent plugin. However, once in a while I get an error message: "Severe Exception: Error in program" The log data indicates that the cause of this error is that a player had been lost(timed out). What does this mean? If it means what I think it means(which is that TSync had not been called in 20sec) then it's probably because I'm using the input command to get strings,right? If that is the case then I have to use some other much more complicated method of gathering strings(ex.entry$())? Anyway, I'm still really pleased that I got it working after all this time and effort.

Visit the official Chicago Rush website
http://chicagorush.servegame.com/index.php
Megaton Cat
21
Years of Service
User Offline
Joined: 24th Aug 2003
Location: Toronto, Canada
Posted: 10th Apr 2006 14:31
When I looked at this I was shocked.

Is this a plugin, a tempest, or a 3-year-old UDP?

Sorry you need to go download Multisync then.


It's like a Megaton Cat radar, 24 hours a day.
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 10th Apr 2006 14:35 Edited at: 10th Apr 2006 14:36
Quote: "However, once in a while I get an error message: "Severe Exception: Error in program""

I'm still not sure what causes that. It could have something to do with a player disconnecting and then trying to access some data relating to them. I'll eventually figure it out.

Quote: "What does this mean? "

It means what you think.

Quote: "If that is the case then I have to use some other much more complicated method of gathering strings(ex.entry$())?"

I would do it like this:

Firstly, create an array to store some values you need to be able to access from anywhere in the program:



Call this function every loop to retrieve input from the user:



Then to send I would probably do something like this:



If you want to display the currently entered data very loop just output globals$(0), which contains the text.

Tempest - P2P UDP Multiplayer Plugin (DBP/DBCe) - 71%
Download the free version
Duke Blue Devils
18
Years of Service
User Offline
Joined: 11th Mar 2006
Location:
Posted: 10th Apr 2006 15:03
Thanks for the tip Benjamin. I'll see how it works. Thanks

Visit the official Chicago Rush website
http://chicagorush.servegame.com/index.php
Largo Winch
18
Years of Service
User Offline
Joined: 31st Mar 2006
Location:
Posted: 11th Apr 2006 17:05
Hi !!
Benjamin please can u help me my Multiplayer FPS !!
Largo Winch
18
Years of Service
User Offline
Joined: 31st Mar 2006
Location:
Posted: 11th Apr 2006 17:06
Sorry !!
Hi !!
Benjamin please can u help me in my Multiplayer FPS !!
I don't know how to start in the Multiplayer part !!!
Sergey K
20
Years of Service
User Offline
Joined: 4th Jan 2004
Location:
Posted: 11th Apr 2006 23:44
connect to the server after u will make one.. ¬_¬

MyNewSite:http://gogetax.com
Forums(About BLO and more):http://gogetax.com/forum
Prime_8
21
Years of Service
User Offline
Joined: 10th Apr 2003
Location: Canada
Posted: 12th Apr 2006 13:41
keep it going man this is a great thing you have made.
Saves me lots of fussing i don't need when trying to do something fun

MikeS
Retired Moderator
21
Years of Service
User Offline
Joined: 2nd Dec 2002
Location: United States
Posted: 14th Apr 2006 23:57
Just took Tempest for a spin today, and I have to say I like it a lot. Based on the example you provided, I was up and running with my own mini multiplayer game in 20 minutes. Very nice work with this Ben, sure beats DBP's native system.



A book? I hate book. Book is stupid.
(Formerly Yellow)
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 15th Apr 2006 05:53
Thanks for the comments guys.

Tempest - P2P UDP Multiplayer Plugin (DBP/DBCe) - 71%
Download the free version
The admiral
22
Years of Service
User Offline
Joined: 29th Aug 2002
Location:
Posted: 17th Apr 2006 06:24 Edited at: 17th Apr 2006 06:38
whats Recv error 10054?? I dunno I just cant get your plugins to work properly.

edit:
now i get this
Tempest v1.0 Free Release

[15:37:57] Attempting to host...

[15:37:57] Error : bind : 10049

[15:37:57] Failed to create game

The admiral
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 17th Apr 2006 07:18
Quote: "whats Recv error 10054??"

That's just an error you get when you try to send data to the player after they have disconnected abnormally(not calling TDisconnect). It's quite normal.

Quote: "[15:37:57] Error : bind : 10049"

You used an invalid address in THost.

Tempest - P2P UDP Multiplayer Plugin (DBP/DBCe) - 71%
Download the free version
The admiral
22
Years of Service
User Offline
Joined: 29th Aug 2002
Location:
Posted: 17th Apr 2006 09:17 Edited at: 17th Apr 2006 09:45
Its weird it will work in the editor but just running the exe and it wont run.

Edit :
Dont worry I think I fixed it hopefully I can make this work now

The admiral
Yian
21
Years of Service
User Offline
Joined: 16th Jun 2003
Location: Nicosia, Cyprus(the Greek half)
Posted: 21st Apr 2006 17:09
Benjamin congrats great work!
however in your example(s) I see you simply send info,every frame!isn't this too much? shouldn't one send say 10 or maybe 5 times a second?

"hello my brother. hello and goodbye."
-black man on drugs outside a big white house
Duke Blue Devils
18
Years of Service
User Offline
Joined: 11th Mar 2006
Location:
Posted: 22nd Apr 2006 00:50
Hey Benjamin why only 64 players? 64 players is not very practical for a chat application.

Visit the official Chicago Rush website
http://chicagorush.servegame.com/index.php
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 22nd Apr 2006 21:26 Edited at: 23rd Apr 2006 06:44
Update - 22/April/2006 v1.1.1.6
* Fixed rejoin bug
* Fixed disconnection bug
* Fixed bug that was causing phantom messages
* Added TLogOn and TLogOff


Download from the usual place(attached to first post).

Quote: "64 players is not very practical for a chat application."

Neither is the peer to peer network model practical for a chat application..

Quote: "Benjamin congrats great work!"

Thank you Yian.

Quote: "I see you simply send info,every frame!"

You see wrong then.

Tempest - P2P UDP Multiplayer Plugin (DBP/DBCe) - 71%
Download the free version
Duke Blue Devils
18
Years of Service
User Offline
Joined: 11th Mar 2006
Location:
Posted: 23rd Apr 2006 06:27
Still doesn't answer my question...

Visit the official Chicago Rush website
http://chicagorush.servegame.com/index.php
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 23rd Apr 2006 06:46
The reason the limit is 64 is because I don't think it is likely that anyone will manage to get that amount of players in a game(due to the fact that everyone would have to have very good connections).

Tempest - P2P UDP Multiplayer Plugin (DBP/DBCe) - 71%
Download the free version

Login to post a reply

Server time is: 2024-11-23 21:10:27
Your offset time is: 2024-11-23 21:10:27