[PROGRAM] OpenYS - Open Source YSFlight Server!

Note that alterations to the YSFlight .EXE is forbidden
User avatar
Flake
Core Staff
Core Staff
Posts: 4354
Joined: Thu Feb 10, 2011 8:47 pm
Favorite Aircraft: Boeing F/A-18A
Location: Australia
OS: Windows 10 (x64)
Has thanked: 836 times
Been thanked: 1238 times
Contact:

[PROGRAM] OpenYS - Open Source YSFlight Server!

Post by Flake » Wed Aug 12, 2015 4:58 am

C P wrote: I don't think I fully understand...
On the server end you can tell a bottle neck or lock-up condition is coming when it starts the x1 x2 dance ...lol. x1 x2??? Can you elaborate?
It begins sending more x1 x2 pairs when you have too many maps, ground objects and planes loaded. I still don't understand...
(You can simulate this by holding down the R key.) In YS? OYS?
The server/client log-in handshake time period prevents newer log-ins from getting on. They're all on seperate threads, are you sure? (The bots and queries can get jammed-up too. Just watch the console server screen.)
Or just log-in about 20 times sequentially. That'll show ya! Get a whole bunch of clients to queue logging in? I have done that and haven't had an issue...
CP voodomiester
---

I've mapped ground data packet, so now I can move around ground objects, and rotate them, and make them shoot at things. This is the start of creating PvE where the AAA/SAM/GEPARD etc. Can shoot at the player. I'm also wanting to make virtual ground objects - player aircraft that act as a ground object. Eg: player controlled carriers. Hopefully that is not too far off.
I am an accountant working full-time (and some). I'm not here as often as I would like to be. Send a message if you need me. There are a few people in the community who can get in contact with me urgently if you need - don't be afraid to ask. I just don't check here as frequently as I used to. Sorry!

User avatar
C P
Contributor
Contributor
Posts: 102
Joined: Fri May 24, 2013 12:17 pm
Favorite Aircraft: F-18E SuperHornet
Location: Syracuse, NY
OS: WIN10 8CORE/4GHZ/16G
Has thanked: 22 times
Been thanked: 25 times
Contact:

[PROGRAM] OpenYS - Open Source YSFlight Server!

Post by C P » Wed Aug 12, 2015 6:47 am

OfficerFlake wrote:[post]89402[/post] I don't think I fully understand
No, not yours Flake. These are all things that happen on regular old YS.
I haven't used OYS lately because the last issue it had was crashing while I was away at work.
Also, the new server list will only report properly if you use YS 20150425 version and nothing else.
Otherwise you get constant server2015/client2011 version conflict screen reports on the console.
I like OYS choice best of all and will put it up again with your next rev and try again.
Thanks,
C P

User avatar
Flake
Core Staff
Core Staff
Posts: 4354
Joined: Thu Feb 10, 2011 8:47 pm
Favorite Aircraft: Boeing F/A-18A
Location: Australia
OS: Windows 10 (x64)
Has thanked: 836 times
Been thanked: 1238 times
Contact:

[PROGRAM] OpenYS - Open Source YSFlight Server!

Post by Flake » Wed Aug 12, 2015 2:03 pm

Cool beans.

I am looking at hosting a OYS server soon on my PC now that I've neutered all the lights on it so I can leave it on all night - I don't pay the power bill, sue me. :lol:
I am an accountant working full-time (and some). I'm not here as often as I would like to be. Send a message if you need me. There are a few people in the community who can get in contact with me urgently if you need - don't be afraid to ask. I just don't check here as frequently as I used to. Sorry!

User avatar
Flake
Core Staff
Core Staff
Posts: 4354
Joined: Thu Feb 10, 2011 8:47 pm
Favorite Aircraft: Boeing F/A-18A
Location: Australia
OS: Windows 10 (x64)
Has thanked: 836 times
Been thanked: 1238 times
Contact:

[PROGRAM] OpenYS - Open Source YSFlight Server!

Post by Flake » Sun Aug 16, 2015 3:21 am

Patrick31337 wrote:Someone logged in a couple nights ago and for some reason OYS gave him "superuser" powers. His IP started with a combination of 1, 2, and 7, but was not 127.
Solved this.

Here WAS my code:

Code: Select all

//172.16.*.* - 172.31.*.*
                            if (byte0 == 172 &
                                byte1 >= 16 &
                                byte2 <= 31) goto MakeSuperUser;
Here's what it should be:

Code: Select all

//172.16.*.* - 172.31.*.*
                            if (byte0 == 172 &
                                byte1 >= 16 &
                                byte1 <= 31) goto MakeSuperUser;
Simple little typo. (byte2 <= 31 should be byte1 <= 31)

The offending IP was(*) 172.59.8.4 and in the old code, first byte == 172, second byte is >= 16, third byte was <= 31...

How interesting. The odds of this error ever occurring were roughly 1/4096... Very lucky it ever happened at all.

My ip checking is based on the standards set in https://en.wikipedia.org/wiki/Private_network

*The ip has been modified from the original, but all the parameters that would trip the error kept the same.
I am an accountant working full-time (and some). I'm not here as often as I would like to be. Send a message if you need me. There are a few people in the community who can get in contact with me urgently if you need - don't be afraid to ask. I just don't check here as frequently as I used to. Sorry!

User avatar
Neocon
First Class Membership
First Class Membership
Posts: 3846
Joined: Wed Oct 19, 2011 5:01 am
Favorite Aircraft: Baron 58
Location: Tennessee
OS: Win 10
Has thanked: 1616 times
Been thanked: 1729 times
Contact:

[PROGRAM] OpenYS - Open Source YSFlight Server!

Post by Neocon » Sun Aug 23, 2015 2:01 am

This is the last 5 minutes of the console log before it kicked off. By the way, I checked the problem log and it is identical to the one I posted a few of my posts back. Why was the chat included in this console log? Also, does refueling work for different iffs?
2015/08/22 20:52:01: (Stirling)i dont have enough to refuel

2015/08/22 20:52:34: ([NCA]Patrick)Ok, that is only something I have to do. It must not work for diff> erent iffs.

2015/08/22 20:52:51: (Stirling)ok

2015/08/22 20:53:08: ([NCA]Patrick)Can you respawn at kmkl mckellar sipes on iff1?

2015/08/22 20:53:16: (Stirling)ok

2015/08/22 20:53:17: Stirling left the airplane.

2015/08/22 20:53:51: (Stirling)what location?

2015/08/22 20:54:02: ([NCA]Patrick)It is either kmkl or mckellar sipes

2015/08/22 20:54:26: Stirling took off ([VFA-165]F/A-18F_SUPER_HORNET)

2015/08/22 20:54:30: (Stirling)got it

2015/08/22 20:55:06: ([NCA]Patrick)I'm not too far ahead of you. You can catch me at full afterburne> r.

2015/08/22 20:55:16: ([NCA]Patrick)slowing to 250kts.

2015/08/22 20:55:38: Weather Report: Wind from direction 060 at 5 kts. Visability is 10 miles.

2015/08/22 20:55:59: serverlist_bot Logging in... 208.68.37.244

2015/08/22 20:55:59: serverlist_bot Joined the server.

2015/08/22 20:55:59: serverlist_bot left the server.

2015/08/22 20:55:59: serverlist_bot Logging in... 208.68.37.244

2015/08/22 20:55:59: serverlist_bot Joined the server.

2015/08/22 20:56:06: serverlist_bot left the server.

2015/08/22 20:56:59: Stirling left the server.

User avatar
Flake
Core Staff
Core Staff
Posts: 4354
Joined: Thu Feb 10, 2011 8:47 pm
Favorite Aircraft: Boeing F/A-18A
Location: Australia
OS: Windows 10 (x64)
Has thanked: 836 times
Been thanked: 1238 times
Contact:

[PROGRAM] OpenYS - Open Source YSFlight Server!

Post by Flake » Sun Aug 23, 2015 11:16 am

Same iff only.

Crashing because of console problem i'm not sure of

Do you know how to look at the windows event log? that would give me a lot of info.
I am an accountant working full-time (and some). I'm not here as often as I would like to be. Send a message if you need me. There are a few people in the community who can get in contact with me urgently if you need - don't be afraid to ask. I just don't check here as frequently as I used to. Sorry!

User avatar
Barr
Veteran
Veteran
Posts: 1011
Joined: Wed Mar 28, 2012 8:49 pm
Favorite Aircraft: The Boeing 757
Location: Providence, Rhode Island
OS: Windows 10/Gentoo
Has thanked: 272 times
Been thanked: 205 times

[PROGRAM] OpenYS - Open Source YSFlight Server!

Post by Barr » Sun Aug 23, 2015 11:33 am

OfficerFlake wrote:Same iff only.

Crashing because of console problem i'm not sure of

Do you know how to look at the windows event log? that would give me a lot of info.

Serverbot is causing a lot of problems. Especially if someone joins while the server bot does his thing.


Maybe you can implement something in OYS that sends user info to the serverlist instead of the bot?
Image
Beginner ATC for hire!
Current Projects:
-Pilatus PC12
-Mooney M20
-New England Scenery
Fine Print:
**Word of Caution**
My knowledge is limited. Anything I write in my posts may or may not be accurate. To be honest I think its all crap.

User avatar
Flake
Core Staff
Core Staff
Posts: 4354
Joined: Thu Feb 10, 2011 8:47 pm
Favorite Aircraft: Boeing F/A-18A
Location: Australia
OS: Windows 10 (x64)
Has thanked: 836 times
Been thanked: 1238 times
Contact:

[PROGRAM] OpenYS - Open Source YSFlight Server!

Post by Flake » Sun Aug 23, 2015 11:53 am

I could but I need the serverlist to read it.

Perhaps if Eric or Varren create a simple .php page where I can post the arguments to, and then they can sort of update from there or something I could implement it :)
I am an accountant working full-time (and some). I'm not here as often as I would like to be. Send a message if you need me. There are a few people in the community who can get in contact with me urgently if you need - don't be afraid to ask. I just don't check here as frequently as I used to. Sorry!

User avatar
Neocon
First Class Membership
First Class Membership
Posts: 3846
Joined: Wed Oct 19, 2011 5:01 am
Favorite Aircraft: Baron 58
Location: Tennessee
OS: Win 10
Has thanked: 1616 times
Been thanked: 1729 times
Contact:

[PROGRAM] OpenYS - Open Source YSFlight Server!

Post by Neocon » Sun Aug 23, 2015 3:18 pm

Found it in the event viewer. Looks like a .NET problem. By the way, I had this error nearly 14 hours ago and just slid the message box off the side of the screen. OYS is running fine all this time later. Weird.

Code: Select all

Log Name:      Application
Source:        .NET Runtime
Date:          8/22/2015 8:57:21 PM
Event ID:      1026
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      Patrick-PC
Description:
Application: OpenYS-ServerMode.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.InvalidOperationException
Stack:
   at System.Collections.Generic.List`1+Enumerator[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNextRare()
   at OpenYS.OpenYS.MicroTick()
   at OpenYS.OpenYS_Server+Program.Run(System.String[])
   at OpenYS.OpenYS_Server+Program.Main(System.String[])

Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name=".NET Runtime" />
    <EventID Qualifiers="0">1026</EventID>
    <Level>2</Level>
    <Task>0</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2015-08-23T01:57:21.000Z" />
    <EventRecordID>79673</EventRecordID>
    <Channel>Application</Channel>
    <Computer>Patrick-PC</Computer>
    <Security />
  </System>
  <EventData>
    <Data>Application: OpenYS-ServerMode.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.InvalidOperationException
Stack:
   at System.Collections.Generic.List`1+Enumerator[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNextRare()
   at OpenYS.OpenYS.MicroTick()
   at OpenYS.OpenYS_Server+Program.Run(System.String[])
   at OpenYS.OpenYS_Server+Program.Main(System.String[])
</Data>
  </EventData>
</Event>

User avatar
Flake
Core Staff
Core Staff
Posts: 4354
Joined: Thu Feb 10, 2011 8:47 pm
Favorite Aircraft: Boeing F/A-18A
Location: Australia
OS: Windows 10 (x64)
Has thanked: 836 times
Been thanked: 1238 times
Contact:

[PROGRAM] OpenYS - Open Source YSFlight Server!

Post by Flake » Mon Aug 24, 2015 1:08 am

Patrick31337 wrote:[post]90119[/post] Exception Info: System.InvalidOperationException
Stack:
   at System.Collections.Generic.List`1+Enumerator[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNextRare()
   at OpenYS.OpenYS.MicroTick()
   at OpenYS.OpenYS_Server+Program.Run(System.String[])
   at OpenYS.OpenYS_Server+Program.Main(System.String[])
That's exactly what I wanted to see - There is a dodgy foreach loop in the microtick method. Let me sort that out for you! :D

Thanks Pat! You're a legend!

EDIT: This would explain a lot:

Code: Select all

foreach (Client ThisClient in Clients.YSFClients)
            {
                // Do some stuff...
                    ThisClient.YSFClient.SendMessage("You have been disconnected due to inactivity!");
                    ThisClient.Disconnect(); //Modified the clients list while iterating over?
                }
            }
I thought this would not reference again on each pass by in the loop but it obviously is, so I need to change the way the lists work, to be updated at the end of every tick cycle. That should solve the problem for good. You've helped me understand a flaw with how I thought a foreach loop would work - that is get the list contents, then go over each element. Instead it does this lazy method of get the list, go through each item and compare to the list, and see if things can be done faster. The problem here is a foreach is a read only operation and nothing can be written while the foreach is being done. It's hard to explain so I know I'm not speaking english but know you've helped me solve a critical flaw and vulnerability in the program - this is why your server was crashing.

Buuuut wait! How did the server still run? A unhandled exception crashes the one thread it is operating on - so all the events that would occur every second were no longer happening (heartbeat checking, weather updates, sequencers and the like) but the server listeners and clients would still be okay! :)
I am an accountant working full-time (and some). I'm not here as often as I would like to be. Send a message if you need me. There are a few people in the community who can get in contact with me urgently if you need - don't be afraid to ask. I just don't check here as frequently as I used to. Sorry!

User avatar
Flake
Core Staff
Core Staff
Posts: 4354
Joined: Thu Feb 10, 2011 8:47 pm
Favorite Aircraft: Boeing F/A-18A
Location: Australia
OS: Windows 10 (x64)
Has thanked: 836 times
Been thanked: 1238 times
Contact:

Re: [PROGRAM] OpenYS - Open Source YSFlight Server!

Post by Flake » Mon Aug 24, 2015 1:25 am

By the way, I know some of you may have already seen this but here's a feature length film on how OYS code is structured and works.
Last edited by Flake on Tue Sep 01, 2015 1:10 pm, edited 1 time in total.
I am an accountant working full-time (and some). I'm not here as often as I would like to be. Send a message if you need me. There are a few people in the community who can get in contact with me urgently if you need - don't be afraid to ask. I just don't check here as frequently as I used to. Sorry!

User avatar
Neocon
First Class Membership
First Class Membership
Posts: 3846
Joined: Wed Oct 19, 2011 5:01 am
Favorite Aircraft: Baron 58
Location: Tennessee
OS: Win 10
Has thanked: 1616 times
Been thanked: 1729 times
Contact:

[PROGRAM] OpenYS - Open Source YSFlight Server!

Post by Neocon » Mon Aug 24, 2015 2:03 am

So you can fix it because...magic? :D

User avatar
Flake
Core Staff
Core Staff
Posts: 4354
Joined: Thu Feb 10, 2011 8:47 pm
Favorite Aircraft: Boeing F/A-18A
Location: Australia
OS: Windows 10 (x64)
Has thanked: 836 times
Been thanked: 1238 times
Contact:

Re: [PROGRAM] OpenYS - Open Source YSFlight Server!

Post by Flake » Mon Aug 24, 2015 4:49 am

Now Updated to Version 20150824(1437)

Changes:
+Clients list now uses a smarter locking system - ReadWriteLockSlim, which allows for faster and more secure access. Hopefully less crashes.
+A few more settings, see the demo settings file - some not being used yet but will be.
~Finished the release builder - I can now pack a release of OYS by running a special build - no more cleaning necessary on my part, which is good.
~Changed the way welcome messages are loaded, and automatic messages in general. There is now SOME element of order to it.
-Removed Nukes

Notes:
Nothing special to mention.

Download: https://www.mediafire.com/?izga43lxclayb1e


Last edited by Flake on Tue Sep 01, 2015 1:10 pm, edited 1 time in total.
I am an accountant working full-time (and some). I'm not here as often as I would like to be. Send a message if you need me. There are a few people in the community who can get in contact with me urgently if you need - don't be afraid to ask. I just don't check here as frequently as I used to. Sorry!

User avatar
Nodoka Hanamura
Veteran
Veteran
Posts: 923
Joined: Thu Apr 07, 2011 8:01 pm
Favorite Aircraft: Su-24, Mig-29, Su-27, F-18, F-15, ADF-01, Icon A5
Has thanked: 513 times
Been thanked: 266 times

[PROGRAM] OpenYS - Open Source YSFlight Server!

Post by Nodoka Hanamura » Mon Aug 24, 2015 5:18 am

Nukes? What do you mean Nukes?
█████████████████████████████████████████████████████████████████████
Image

User avatar
Flake
Core Staff
Core Staff
Posts: 4354
Joined: Thu Feb 10, 2011 8:47 pm
Favorite Aircraft: Boeing F/A-18A
Location: Australia
OS: Windows 10 (x64)
Has thanked: 836 times
Been thanked: 1238 times
Contact:

[PROGRAM] OpenYS - Open Source YSFlight Server!

Post by Flake » Mon Aug 24, 2015 5:31 am

iqmal_97 wrote:
OfficerFlake wrote:[post]83681[/post] As for the nukes removed message? Look at any minecraft release notes from 1.8 beta forwards and you'll get the joke.
Tsk tsk ;) -Removed Herobrine
I am an accountant working full-time (and some). I'm not here as often as I would like to be. Send a message if you need me. There are a few people in the community who can get in contact with me urgently if you need - don't be afraid to ask. I just don't check here as frequently as I used to. Sorry!

User avatar
Neocon
First Class Membership
First Class Membership
Posts: 3846
Joined: Wed Oct 19, 2011 5:01 am
Favorite Aircraft: Baron 58
Location: Tennessee
OS: Win 10
Has thanked: 1616 times
Been thanked: 1729 times
Contact:

[PROGRAM] OpenYS - Open Source YSFlight Server!

Post by Neocon » Mon Aug 24, 2015 5:32 am

Does this have the fixes you mentioned above, then? Does the admin password work? That will be a great feature!

I'll start it up in the morning. Still running previous version tonight.

User avatar
Flake
Core Staff
Core Staff
Posts: 4354
Joined: Thu Feb 10, 2011 8:47 pm
Favorite Aircraft: Boeing F/A-18A
Location: Australia
OS: Windows 10 (x64)
Has thanked: 836 times
Been thanked: 1238 times
Contact:

[PROGRAM] OpenYS - Open Source YSFlight Server!

Post by Flake » Mon Aug 24, 2015 7:00 am

Admin pass is working as intended. Set the pass then type /password to log in.
I am an accountant working full-time (and some). I'm not here as often as I would like to be. Send a message if you need me. There are a few people in the community who can get in contact with me urgently if you need - don't be afraid to ask. I just don't check here as frequently as I used to. Sorry!

User avatar
Neocon
First Class Membership
First Class Membership
Posts: 3846
Joined: Wed Oct 19, 2011 5:01 am
Favorite Aircraft: Baron 58
Location: Tennessee
OS: Win 10
Has thanked: 1616 times
Been thanked: 1729 times
Contact:

[PROGRAM] OpenYS - Open Source YSFlight Server!

Post by Neocon » Mon Aug 24, 2015 2:12 pm

I got this out of the event viewer.

Code: Select all

Log Name:      Application
Source:        .NET Runtime
Date:          8/24/2015 9:05:25 AM
Event ID:      1026
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      Patrick-PC
Description:
Application: OpenYS-ServerMode.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Threading.LockRecursionException
Stack:
   at System.Threading.ReaderWriterLockSlim.TryEnterWriteLockCore(TimeoutTracker)
   at System.Threading.ReaderWriterLockSlim.TryEnterWriteLock(TimeoutTracker)
   at System.Threading.ReaderWriterLockSlim.TryEnterWriteLock(Int32)
   at OpenYS.Clients.RemoveClient(OpenYS.Client)
   at OpenYS.Client.Disconnect()
   at OpenYS.Client+Connection+SocketSender.Send(GenericPacket)
   at OpenYS.Client+Connection.SendMessage(System.String)
   at OpenYS.Clients.DoHeartbeatMonitor()
   at OpenYS.OpenYS.MicroTick()
   at OpenYS.OpenYS_Server+Program.Run(System.String[])
   at OpenYS.OpenYS_Server+Program.Main(System.String[])

Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name=".NET Runtime" />
    <EventID Qualifiers="0">1026</EventID>
    <Level>2</Level>
    <Task>0</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2015-08-24T14:05:25.000Z" />
    <EventRecordID>79738</EventRecordID>
    <Channel>Application</Channel>
    <Computer>Patrick-PC</Computer>
    <Security />
  </System>
  <EventData>
    <Data>Application: OpenYS-ServerMode.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Threading.LockRecursionException
Stack:
   at System.Threading.ReaderWriterLockSlim.TryEnterWriteLockCore(TimeoutTracker)
   at System.Threading.ReaderWriterLockSlim.TryEnterWriteLock(TimeoutTracker)
   at System.Threading.ReaderWriterLockSlim.TryEnterWriteLock(Int32)
   at OpenYS.Clients.RemoveClient(OpenYS.Client)
   at OpenYS.Client.Disconnect()
   at OpenYS.Client+Connection+SocketSender.Send(GenericPacket)
   at OpenYS.Client+Connection.SendMessage(System.String)
   at OpenYS.Clients.DoHeartbeatMonitor()
   at OpenYS.OpenYS.MicroTick()
   at OpenYS.OpenYS_Server+Program.Run(System.String[])
   at OpenYS.OpenYS_Server+Program.Main(System.String[])
</Data>
  </EventData>
</Event>

User avatar
Flake
Core Staff
Core Staff
Posts: 4354
Joined: Thu Feb 10, 2011 8:47 pm
Favorite Aircraft: Boeing F/A-18A
Location: Australia
OS: Windows 10 (x64)
Has thanked: 836 times
Been thanked: 1238 times
Contact:

[PROGRAM] OpenYS - Open Source YSFlight Server!

Post by Flake » Mon Aug 24, 2015 2:32 pm

Okay I know what that is!

I'll fix it tomorrow!

That will happen 100% of the time though so best to downgrade for the next day
I am an accountant working full-time (and some). I'm not here as often as I would like to be. Send a message if you need me. There are a few people in the community who can get in contact with me urgently if you need - don't be afraid to ask. I just don't check here as frequently as I used to. Sorry!

User avatar
Flake
Core Staff
Core Staff
Posts: 4354
Joined: Thu Feb 10, 2011 8:47 pm
Favorite Aircraft: Boeing F/A-18A
Location: Australia
OS: Windows 10 (x64)
Has thanked: 836 times
Been thanked: 1238 times
Contact:

Re: [PROGRAM] OpenYS - Open Source YSFlight Server!

Post by Flake » Tue Aug 25, 2015 1:45 am

Now Updated to Version 20150825(1139)

Changes:
+Fixed an error in the ReadWriteLockSlim client list implementation that would crash the update thread.
-Removed Nukes

Notes:
Nothing special to mention.

Download: https://www.mediafire.com/?gptuaj5g2bbb16z


Last edited by Flake on Tue Sep 01, 2015 1:10 pm, edited 1 time in total.
I am an accountant working full-time (and some). I'm not here as often as I would like to be. Send a message if you need me. There are a few people in the community who can get in contact with me urgently if you need - don't be afraid to ask. I just don't check here as frequently as I used to. Sorry!

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest