From 8297c56f211ca50de6cca41bcd6362fcc3ba8059 Mon Sep 17 00:00:00 2001
From: Li
Date: Mon, 25 Jul 2022 19:16:21 +1200
Subject: [PATCH] Port N00BS to linux
---
.github/workflows/build.yml | 12 +-
.gitmodules | 0
.mailmap | 0
HorseIsleServer/HISP.sln | 0
HorseIsleServer/HISPd/HISPd.csproj | 0
HorseIsleServer/HISPd/Program.cs | 0
.../HISPd/Properties/AssemblyInfo.cs | 0
.../PublishProfiles/AndroidARM.pubxml | 0
.../PublishProfiles/AndroidARM64.pubxml | 0
.../Properties/PublishProfiles/Linux64.pubxml | 0
.../PublishProfiles/LinuxARM.pubxml | 0
.../PublishProfiles/LinuxARM64.pubxml | 0
.../Properties/PublishProfiles/Osx64.pubxml | 0
.../PublishProfiles/OsxARM64.pubxml | 0
.../Properties/PublishProfiles/Win32.pubxml | 0
.../Properties/PublishProfiles/Win64.pubxml | 0
.../Properties/PublishProfiles/WinARM.pubxml | 0
.../PublishProfiles/WinARM64.pubxml | 0
.../Properties/PublishProfiles/iOSARM.pubxml | 0
.../PublishProfiles/iOSARM64.pubxml | 0
.../HISPd/Properties/Resources.Designer.cs | 0
.../HISPd/Properties/Resources.resx | 0
.../HISPd/Properties/launchSettings.json | 0
.../HISPd/Resources/DEBIAN/conffiles | 0
.../HISPd/Resources/DEBIAN/control | 2 +-
.../HISPd/Resources/DEBIAN/copyright | 0
.../HISPd/Resources/DEBIAN/postinst | 0
HorseIsleServer/HISPd/Resources/DEBIAN/postrm | 0
HorseIsleServer/HISPd/Resources/DEBIAN/prerm | 0
HorseIsleServer/HISPd/Resources/HISP.service | 0
HorseIsleServer/HISPd/icon.ico | Bin
HorseIsleServer/LibHISP/Game/AbuseReport.cs | 0
HorseIsleServer/LibHISP/Game/Arena.cs | 0
HorseIsleServer/LibHISP/Game/Book.cs | 0
HorseIsleServer/LibHISP/Game/Chat/Chat.cs | 0
HorseIsleServer/LibHISP/Game/Chat/Command.cs | 0
.../LibHISP/Game/Chat/CommandRegister.cs | 0
.../LibHISP/Game/Chat/SocialType.cs | 0
.../Game/Events/IsleCardTradingGame.cs | 0
.../LibHISP/Game/Events/ModsRevenge.cs | 0
.../LibHISP/Game/Events/RandomEvent.cs | 0
.../LibHISP/Game/Events/RealTimeQuiz.cs | 0
.../LibHISP/Game/Events/RealTimeRiddle.cs | 0
.../LibHISP/Game/Events/TackShopGiveaway.cs | 0
.../LibHISP/Game/Events/WaterBalloonGame.cs | 0
.../LibHISP/Game/GameExceptions.cs | 0
.../LibHISP/Game/Horse/HorseInfo.cs | 0
.../LibHISP/Game/Horse/HorseInstance.cs | 0
HorseIsleServer/LibHISP/Game/Horse/Leaser.cs | 0
.../LibHISP/Game/Horse/WildHorse.cs | 0
.../LibHISP/Game/Inventory/HorseInventory.cs | 0
.../LibHISP/Game/Inventory/IInventory.cs | 0
.../LibHISP/Game/Inventory/InventoryItem.cs | 0
.../LibHISP/Game/Inventory/PlayerInventory.cs | 0
.../LibHISP/Game/Inventory/ShopInventory.cs | 0
.../LibHISP/Game/Items/DroppedItems.cs | 0
HorseIsleServer/LibHISP/Game/Items/Item.cs | 0
.../LibHISP/Game/Items/ItemInstance.cs | 0
HorseIsleServer/LibHISP/Game/Items/Tack.cs | 0
HorseIsleServer/LibHISP/Game/Map.cs | 0
HorseIsleServer/LibHISP/Game/Messages.cs | 0
HorseIsleServer/LibHISP/Game/Meta.cs | 0
HorseIsleServer/LibHISP/Game/Multiroom.cs | 0
HorseIsleServer/LibHISP/Game/Npc.cs | 0
HorseIsleServer/LibHISP/Game/Quest.cs | 0
HorseIsleServer/LibHISP/Game/Ranch.cs | 0
HorseIsleServer/LibHISP/Game/Riddler.cs | 0
.../LibHISP/Game/Services/Auction.cs | 0
HorseIsleServer/LibHISP/Game/Services/Barn.cs | 0
.../LibHISP/Game/Services/Farrier.cs | 0
.../LibHISP/Game/Services/Groomer.cs | 0
HorseIsleServer/LibHISP/Game/Services/Inn.cs | 0
.../LibHISP/Game/Services/Pawneer.cs | 0
HorseIsleServer/LibHISP/Game/Services/Shop.cs | 0
.../LibHISP/Game/Services/Trainer.cs | 0
.../LibHISP/Game/Services/Transport.cs | 0
HorseIsleServer/LibHISP/Game/Services/Vet.cs | 0
.../LibHISP/Game/Services/Workshop.cs | 0
.../LibHISP/Game/SwfModules/Brickpoet.cs | 0
.../LibHISP/Game/SwfModules/Drawingroom.cs | 0
.../LibHISP/Game/SwfModules/Dressup.cs | 0
HorseIsleServer/LibHISP/Game/Tracking.cs | 0
HorseIsleServer/LibHISP/Game/Treasure.cs | 0
HorseIsleServer/LibHISP/Game/TwoPlayer.cs | 0
HorseIsleServer/LibHISP/Game/World.cs | 0
HorseIsleServer/LibHISP/LibHISP.csproj | 0
HorseIsleServer/LibHISP/Player/Award.cs | 0
HorseIsleServer/LibHISP/Player/Dance.cs | 0
.../LibHISP/Player/Equips/CompetitionGear.cs | 0
.../LibHISP/Player/Equips/Jewelry.cs | 0
HorseIsleServer/LibHISP/Player/Friends.cs | 0
HorseIsleServer/LibHISP/Player/Highscore.cs | 0
HorseIsleServer/LibHISP/Player/Mailbox.cs | 0
.../LibHISP/Player/MutedPlayers.cs | 0
.../LibHISP/Player/PlayerQuests.cs | 0
.../LibHISP/Player/TrackedQuest.cs | 0
HorseIsleServer/LibHISP/Player/Trade.cs | 0
HorseIsleServer/LibHISP/Player/User.cs | 0
.../LibHISP/Properties/AssemblyInfo.cs | 4 +-
.../PublishProfiles/AndroidARM.pubxml | 0
.../PublishProfiles/AndroidARM64.pubxml | 0
.../Properties/PublishProfiles/Linux64.pubxml | 0
.../PublishProfiles/LinuxARM.pubxml | 0
.../PublishProfiles/LinuxARM64.pubxml | 0
.../Properties/PublishProfiles/Osx64.pubxml | 0
.../PublishProfiles/OsxARM64.pubxml | 0
.../Properties/PublishProfiles/Win32.pubxml | 0
.../Properties/PublishProfiles/Win64.pubxml | 0
.../Properties/PublishProfiles/WinARM.pubxml | 0
.../PublishProfiles/WinARM64.pubxml | 0
.../Properties/PublishProfiles/iOSARM.pubxml | 0
.../PublishProfiles/iOSARM64.pubxml | 0
.../LibHISP/Properties/Resources.Designer.cs | 0
.../LibHISP/Properties/Resources.resx | 0
.../LibHISP/Properties/launchSettings.json | 0
.../Resources/default_cross_domain.xml | 0
.../LibHISP/Resources/server.properties | 0
.../LibHISP/Security/Authentication.cs | 0
HorseIsleServer/LibHISP/Security/BBCode.cs | 0
.../LibHISP/Security/CrossDomainPolicy.cs | 0
HorseIsleServer/LibHISP/Security/RandomID.cs | 0
.../LibHISP/Server/ConfigReader.cs | 0
.../LibHISP/Server/DataFixerUpper.cs | 0
HorseIsleServer/LibHISP/Server/Database.cs | 0
HorseIsleServer/LibHISP/Server/Entry.cs | 0
HorseIsleServer/LibHISP/Server/GameClient.cs | 19 ++-
.../LibHISP/Server/GameDataJson.cs | 0
HorseIsleServer/LibHISP/Server/GameServer.cs | 0
HorseIsleServer/LibHISP/Server/Logger.cs | 0
.../LibHISP/Server/PacketBuilder.cs | 0
.../LibHISP/Server/ServerVersion.cs | 144 +++++++++---------
HorseIsleServer/LibHISP/Server/Util.cs | 0
HorseIsleServer/MPN00BS/App.axaml | 0
HorseIsleServer/MPN00BS/App.axaml.cs | 0
HorseIsleServer/MPN00BS/CrossDomainPolicy.xml | 3 +
HorseIsleServer/MPN00BS/HTTP/ContentServer.cs | 30 ++--
HorseIsleServer/MPN00BS/HispLogo.gif | Bin
HorseIsleServer/MPN00BS/HispViewModel.cs | 0
HorseIsleServer/MPN00BS/LoadingWindow.axaml | 0
.../MPN00BS/LoadingWindow.axaml.cs | 4 +-
HorseIsleServer/MPN00BS/MPN00BS.csproj | 22 ++-
HorseIsleServer/MPN00BS/MPN00BS.csproj.user | 6 -
HorseIsleServer/MPN00BS/MessageBox.axaml | 0
HorseIsleServer/MPN00BS/MessageBox.axaml.cs | 0
.../MPN00BS/MiniMvvm/MiniCommand.cs | 0
.../MiniMvvm/PropertyChangedExtensions.cs | 0
.../MPN00BS/MiniMvvm/ViewModelBase.cs | 0
HorseIsleServer/MPN00BS/MpOrSp.axaml | 0
HorseIsleServer/MPN00BS/MpOrSp.axaml.cs | 3 -
HorseIsleServer/MPN00BS/Program.cs | 0
.../MPN00BS/Properties/AssemblyInfo.cs | 4 +-
.../PublishProfiles/AndroidARM.pubxml | 0
.../PublishProfiles/AndroidARM64.pubxml | 0
.../Properties/PublishProfiles/Linux64.pubxml | 0
.../PublishProfiles/LinuxARM.pubxml | 0
.../PublishProfiles/LinuxARM64.pubxml | 0
.../Properties/PublishProfiles/Osx64.pubxml | 0
.../PublishProfiles/OsxARM64.pubxml | 0
.../Properties/PublishProfiles/Win32.pubxml | 0
.../Properties/PublishProfiles/Win64.pubxml | 0
.../PublishProfiles/Win64.pubxml.user | 0
.../Properties/PublishProfiles/WinARM.pubxml | 0
.../PublishProfiles/WinARM64.pubxml | 0
.../Properties/PublishProfiles/iOSARM.pubxml | 0
.../PublishProfiles/iOSARM64.pubxml | 0
HorseIsleServer/MPN00BS/RegisterWindow.axaml | 0
.../MPN00BS/RegisterWindow.axaml.cs | 3 -
HorseIsleServer/MPN00BS/ResetWindow.axaml | 0
HorseIsleServer/MPN00BS/ResetWindow.axaml.cs | 3 -
HorseIsleServer/MPN00BS/ServerSelection.axaml | 0
.../MPN00BS/ServerSelection.axaml.cs | 11 +-
HorseIsleServer/MPN00BS/ServerStarter.cs | 43 +++++-
.../MPN00BS/flashplayer/LINUX/flash.elf | Bin 0 -> 15187288 bytes
.../MPN00BS/flashplayer/WINDOWS/flash.exe | Bin
HorseIsleServer/MPN00BS/icon.ico | Bin
HorseIsleServer/MPN00BS/server.properties | 99 ++++++++++++
HorseIsleServer/prebuild.py | 0
HorseIsleWeb | 2 +-
MigrationSQL/migrate-1.0-to-1.1.sql | 0
MigrationSQL/migrate-1.1-to-1.2.sql | 0
MigrationSQL/migrate-1.2-to-1.8.sql | 0
181 files changed, 282 insertions(+), 132 deletions(-)
mode change 100644 => 100755 .github/workflows/build.yml
mode change 100644 => 100755 .gitmodules
mode change 100644 => 100755 .mailmap
mode change 100644 => 100755 HorseIsleServer/HISP.sln
mode change 100644 => 100755 HorseIsleServer/HISPd/HISPd.csproj
mode change 100644 => 100755 HorseIsleServer/HISPd/Program.cs
mode change 100644 => 100755 HorseIsleServer/HISPd/Properties/AssemblyInfo.cs
mode change 100644 => 100755 HorseIsleServer/HISPd/Properties/PublishProfiles/AndroidARM.pubxml
mode change 100644 => 100755 HorseIsleServer/HISPd/Properties/PublishProfiles/AndroidARM64.pubxml
mode change 100644 => 100755 HorseIsleServer/HISPd/Properties/PublishProfiles/Linux64.pubxml
mode change 100644 => 100755 HorseIsleServer/HISPd/Properties/PublishProfiles/LinuxARM.pubxml
mode change 100644 => 100755 HorseIsleServer/HISPd/Properties/PublishProfiles/LinuxARM64.pubxml
mode change 100644 => 100755 HorseIsleServer/HISPd/Properties/PublishProfiles/Osx64.pubxml
mode change 100644 => 100755 HorseIsleServer/HISPd/Properties/PublishProfiles/OsxARM64.pubxml
mode change 100644 => 100755 HorseIsleServer/HISPd/Properties/PublishProfiles/Win32.pubxml
mode change 100644 => 100755 HorseIsleServer/HISPd/Properties/PublishProfiles/Win64.pubxml
mode change 100644 => 100755 HorseIsleServer/HISPd/Properties/PublishProfiles/WinARM.pubxml
mode change 100644 => 100755 HorseIsleServer/HISPd/Properties/PublishProfiles/WinARM64.pubxml
mode change 100644 => 100755 HorseIsleServer/HISPd/Properties/PublishProfiles/iOSARM.pubxml
mode change 100644 => 100755 HorseIsleServer/HISPd/Properties/PublishProfiles/iOSARM64.pubxml
mode change 100644 => 100755 HorseIsleServer/HISPd/Properties/Resources.Designer.cs
mode change 100644 => 100755 HorseIsleServer/HISPd/Properties/Resources.resx
mode change 100644 => 100755 HorseIsleServer/HISPd/Properties/launchSettings.json
mode change 100644 => 100755 HorseIsleServer/HISPd/Resources/DEBIAN/conffiles
mode change 100644 => 100755 HorseIsleServer/HISPd/Resources/DEBIAN/control
mode change 100644 => 100755 HorseIsleServer/HISPd/Resources/DEBIAN/copyright
mode change 100644 => 100755 HorseIsleServer/HISPd/Resources/DEBIAN/postinst
mode change 100644 => 100755 HorseIsleServer/HISPd/Resources/DEBIAN/postrm
mode change 100644 => 100755 HorseIsleServer/HISPd/Resources/DEBIAN/prerm
mode change 100644 => 100755 HorseIsleServer/HISPd/Resources/HISP.service
mode change 100644 => 100755 HorseIsleServer/HISPd/icon.ico
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/AbuseReport.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Arena.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Book.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Chat/Chat.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Chat/Command.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Chat/CommandRegister.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Chat/SocialType.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Events/IsleCardTradingGame.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Events/ModsRevenge.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Events/RandomEvent.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Events/RealTimeQuiz.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Events/RealTimeRiddle.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Events/TackShopGiveaway.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Events/WaterBalloonGame.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/GameExceptions.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Horse/HorseInfo.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Horse/HorseInstance.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Horse/Leaser.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Horse/WildHorse.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Inventory/HorseInventory.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Inventory/IInventory.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Inventory/InventoryItem.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Inventory/PlayerInventory.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Inventory/ShopInventory.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Items/DroppedItems.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Items/Item.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Items/ItemInstance.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Items/Tack.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Map.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Messages.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Meta.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Multiroom.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Npc.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Quest.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Ranch.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Riddler.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Services/Auction.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Services/Barn.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Services/Farrier.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Services/Groomer.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Services/Inn.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Services/Pawneer.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Services/Shop.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Services/Trainer.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Services/Transport.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Services/Vet.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Services/Workshop.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/SwfModules/Brickpoet.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/SwfModules/Drawingroom.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/SwfModules/Dressup.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Tracking.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/Treasure.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/TwoPlayer.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Game/World.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/LibHISP.csproj
mode change 100644 => 100755 HorseIsleServer/LibHISP/Player/Award.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Player/Dance.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Player/Equips/CompetitionGear.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Player/Equips/Jewelry.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Player/Friends.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Player/Highscore.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Player/Mailbox.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Player/MutedPlayers.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Player/PlayerQuests.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Player/TrackedQuest.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Player/Trade.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Player/User.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Properties/AssemblyInfo.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Properties/PublishProfiles/AndroidARM.pubxml
mode change 100644 => 100755 HorseIsleServer/LibHISP/Properties/PublishProfiles/AndroidARM64.pubxml
mode change 100644 => 100755 HorseIsleServer/LibHISP/Properties/PublishProfiles/Linux64.pubxml
mode change 100644 => 100755 HorseIsleServer/LibHISP/Properties/PublishProfiles/LinuxARM.pubxml
mode change 100644 => 100755 HorseIsleServer/LibHISP/Properties/PublishProfiles/LinuxARM64.pubxml
mode change 100644 => 100755 HorseIsleServer/LibHISP/Properties/PublishProfiles/Osx64.pubxml
mode change 100644 => 100755 HorseIsleServer/LibHISP/Properties/PublishProfiles/OsxARM64.pubxml
mode change 100644 => 100755 HorseIsleServer/LibHISP/Properties/PublishProfiles/Win32.pubxml
mode change 100644 => 100755 HorseIsleServer/LibHISP/Properties/PublishProfiles/Win64.pubxml
mode change 100644 => 100755 HorseIsleServer/LibHISP/Properties/PublishProfiles/WinARM.pubxml
mode change 100644 => 100755 HorseIsleServer/LibHISP/Properties/PublishProfiles/WinARM64.pubxml
mode change 100644 => 100755 HorseIsleServer/LibHISP/Properties/PublishProfiles/iOSARM.pubxml
mode change 100644 => 100755 HorseIsleServer/LibHISP/Properties/PublishProfiles/iOSARM64.pubxml
mode change 100644 => 100755 HorseIsleServer/LibHISP/Properties/Resources.Designer.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Properties/Resources.resx
mode change 100644 => 100755 HorseIsleServer/LibHISP/Properties/launchSettings.json
mode change 100644 => 100755 HorseIsleServer/LibHISP/Resources/default_cross_domain.xml
mode change 100644 => 100755 HorseIsleServer/LibHISP/Resources/server.properties
mode change 100644 => 100755 HorseIsleServer/LibHISP/Security/Authentication.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Security/BBCode.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Security/CrossDomainPolicy.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Security/RandomID.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Server/ConfigReader.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Server/DataFixerUpper.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Server/Database.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Server/Entry.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Server/GameClient.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Server/GameDataJson.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Server/GameServer.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Server/Logger.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Server/PacketBuilder.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Server/ServerVersion.cs
mode change 100644 => 100755 HorseIsleServer/LibHISP/Server/Util.cs
mode change 100644 => 100755 HorseIsleServer/MPN00BS/App.axaml
mode change 100644 => 100755 HorseIsleServer/MPN00BS/App.axaml.cs
create mode 100755 HorseIsleServer/MPN00BS/CrossDomainPolicy.xml
mode change 100644 => 100755 HorseIsleServer/MPN00BS/HTTP/ContentServer.cs
mode change 100644 => 100755 HorseIsleServer/MPN00BS/HispLogo.gif
mode change 100644 => 100755 HorseIsleServer/MPN00BS/HispViewModel.cs
mode change 100644 => 100755 HorseIsleServer/MPN00BS/LoadingWindow.axaml
mode change 100644 => 100755 HorseIsleServer/MPN00BS/LoadingWindow.axaml.cs
mode change 100644 => 100755 HorseIsleServer/MPN00BS/MPN00BS.csproj
delete mode 100644 HorseIsleServer/MPN00BS/MPN00BS.csproj.user
mode change 100644 => 100755 HorseIsleServer/MPN00BS/MessageBox.axaml
mode change 100644 => 100755 HorseIsleServer/MPN00BS/MessageBox.axaml.cs
mode change 100644 => 100755 HorseIsleServer/MPN00BS/MiniMvvm/MiniCommand.cs
mode change 100644 => 100755 HorseIsleServer/MPN00BS/MiniMvvm/PropertyChangedExtensions.cs
mode change 100644 => 100755 HorseIsleServer/MPN00BS/MiniMvvm/ViewModelBase.cs
mode change 100644 => 100755 HorseIsleServer/MPN00BS/MpOrSp.axaml
mode change 100644 => 100755 HorseIsleServer/MPN00BS/MpOrSp.axaml.cs
mode change 100644 => 100755 HorseIsleServer/MPN00BS/Program.cs
mode change 100644 => 100755 HorseIsleServer/MPN00BS/Properties/AssemblyInfo.cs
mode change 100644 => 100755 HorseIsleServer/MPN00BS/Properties/PublishProfiles/AndroidARM.pubxml
mode change 100644 => 100755 HorseIsleServer/MPN00BS/Properties/PublishProfiles/AndroidARM64.pubxml
mode change 100644 => 100755 HorseIsleServer/MPN00BS/Properties/PublishProfiles/Linux64.pubxml
mode change 100644 => 100755 HorseIsleServer/MPN00BS/Properties/PublishProfiles/LinuxARM.pubxml
mode change 100644 => 100755 HorseIsleServer/MPN00BS/Properties/PublishProfiles/LinuxARM64.pubxml
mode change 100644 => 100755 HorseIsleServer/MPN00BS/Properties/PublishProfiles/Osx64.pubxml
mode change 100644 => 100755 HorseIsleServer/MPN00BS/Properties/PublishProfiles/OsxARM64.pubxml
mode change 100644 => 100755 HorseIsleServer/MPN00BS/Properties/PublishProfiles/Win32.pubxml
mode change 100644 => 100755 HorseIsleServer/MPN00BS/Properties/PublishProfiles/Win64.pubxml
mode change 100644 => 100755 HorseIsleServer/MPN00BS/Properties/PublishProfiles/Win64.pubxml.user
mode change 100644 => 100755 HorseIsleServer/MPN00BS/Properties/PublishProfiles/WinARM.pubxml
mode change 100644 => 100755 HorseIsleServer/MPN00BS/Properties/PublishProfiles/WinARM64.pubxml
mode change 100644 => 100755 HorseIsleServer/MPN00BS/Properties/PublishProfiles/iOSARM.pubxml
mode change 100644 => 100755 HorseIsleServer/MPN00BS/Properties/PublishProfiles/iOSARM64.pubxml
mode change 100644 => 100755 HorseIsleServer/MPN00BS/RegisterWindow.axaml
mode change 100644 => 100755 HorseIsleServer/MPN00BS/RegisterWindow.axaml.cs
mode change 100644 => 100755 HorseIsleServer/MPN00BS/ResetWindow.axaml
mode change 100644 => 100755 HorseIsleServer/MPN00BS/ResetWindow.axaml.cs
mode change 100644 => 100755 HorseIsleServer/MPN00BS/ServerSelection.axaml
mode change 100644 => 100755 HorseIsleServer/MPN00BS/ServerSelection.axaml.cs
mode change 100644 => 100755 HorseIsleServer/MPN00BS/ServerStarter.cs
create mode 100755 HorseIsleServer/MPN00BS/flashplayer/LINUX/flash.elf
mode change 100644 => 100755 HorseIsleServer/MPN00BS/flashplayer/WINDOWS/flash.exe
mode change 100644 => 100755 HorseIsleServer/MPN00BS/icon.ico
create mode 100755 HorseIsleServer/MPN00BS/server.properties
mode change 100644 => 100755 HorseIsleServer/prebuild.py
mode change 100644 => 100755 MigrationSQL/migrate-1.0-to-1.1.sql
mode change 100644 => 100755 MigrationSQL/migrate-1.1-to-1.2.sql
mode change 100644 => 100755 MigrationSQL/migrate-1.2-to-1.8.sql
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
old mode 100644
new mode 100755
index 130e5b2..e997e37
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -39,6 +39,10 @@ jobs:
cd HISPd
dotnet publish -p:PublishProfile=Linux64.pubxml
cd ..
+ cd MPN00BS
+ dotnet publish -p:PublishProfile=Linux64.pubxml
+ cd ..
+
# Currently broken ...
# dotnet add HISPd package Microsoft.DotNet.ILCompiler --prerelease
@@ -149,6 +153,12 @@ jobs:
name: HISP-Linux64
path: HorseIsleServer/HISPd/bin/x64/Linux/net7.0/linux-x64/publish/
+ - name: Upload linux-x64-noobs
+ uses: actions/upload-artifact@v2
+ with:
+ name: HISP-Linux64-Noobs
+ path: HorseIsleServer/MPN00BS/bin/x64/Linux/net7.0/linux-x64/publish/
+
- name: Upload linux-arm
uses: actions/upload-artifact@v2
with:
@@ -355,4 +365,4 @@ jobs:
uses: actions/upload-artifact@v2
with:
name: HISP-Web-Game
- path: HorseIsleWeb/game-site
\ No newline at end of file
+ path: HorseIsleWeb/game-site
diff --git a/.gitmodules b/.gitmodules
old mode 100644
new mode 100755
diff --git a/.mailmap b/.mailmap
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/HISP.sln b/HorseIsleServer/HISP.sln
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/HISPd/HISPd.csproj b/HorseIsleServer/HISPd/HISPd.csproj
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/HISPd/Program.cs b/HorseIsleServer/HISPd/Program.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/HISPd/Properties/AssemblyInfo.cs b/HorseIsleServer/HISPd/Properties/AssemblyInfo.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/HISPd/Properties/PublishProfiles/AndroidARM.pubxml b/HorseIsleServer/HISPd/Properties/PublishProfiles/AndroidARM.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/HISPd/Properties/PublishProfiles/AndroidARM64.pubxml b/HorseIsleServer/HISPd/Properties/PublishProfiles/AndroidARM64.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/HISPd/Properties/PublishProfiles/Linux64.pubxml b/HorseIsleServer/HISPd/Properties/PublishProfiles/Linux64.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/HISPd/Properties/PublishProfiles/LinuxARM.pubxml b/HorseIsleServer/HISPd/Properties/PublishProfiles/LinuxARM.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/HISPd/Properties/PublishProfiles/LinuxARM64.pubxml b/HorseIsleServer/HISPd/Properties/PublishProfiles/LinuxARM64.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/HISPd/Properties/PublishProfiles/Osx64.pubxml b/HorseIsleServer/HISPd/Properties/PublishProfiles/Osx64.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/HISPd/Properties/PublishProfiles/OsxARM64.pubxml b/HorseIsleServer/HISPd/Properties/PublishProfiles/OsxARM64.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/HISPd/Properties/PublishProfiles/Win32.pubxml b/HorseIsleServer/HISPd/Properties/PublishProfiles/Win32.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/HISPd/Properties/PublishProfiles/Win64.pubxml b/HorseIsleServer/HISPd/Properties/PublishProfiles/Win64.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/HISPd/Properties/PublishProfiles/WinARM.pubxml b/HorseIsleServer/HISPd/Properties/PublishProfiles/WinARM.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/HISPd/Properties/PublishProfiles/WinARM64.pubxml b/HorseIsleServer/HISPd/Properties/PublishProfiles/WinARM64.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/HISPd/Properties/PublishProfiles/iOSARM.pubxml b/HorseIsleServer/HISPd/Properties/PublishProfiles/iOSARM.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/HISPd/Properties/PublishProfiles/iOSARM64.pubxml b/HorseIsleServer/HISPd/Properties/PublishProfiles/iOSARM64.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/HISPd/Properties/Resources.Designer.cs b/HorseIsleServer/HISPd/Properties/Resources.Designer.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/HISPd/Properties/Resources.resx b/HorseIsleServer/HISPd/Properties/Resources.resx
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/HISPd/Properties/launchSettings.json b/HorseIsleServer/HISPd/Properties/launchSettings.json
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/HISPd/Resources/DEBIAN/conffiles b/HorseIsleServer/HISPd/Resources/DEBIAN/conffiles
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/HISPd/Resources/DEBIAN/control b/HorseIsleServer/HISPd/Resources/DEBIAN/control
old mode 100644
new mode 100755
index b5c8e77..a0cf3bb
--- a/HorseIsleServer/HISPd/Resources/DEBIAN/control
+++ b/HorseIsleServer/HISPd/Resources/DEBIAN/control
@@ -1,5 +1,5 @@
Package: hisp
-Version: 1.7.110
+Version: 1.7.112
Depends: coreutils,systemd,mariadb-server,libsqlite3-dev,zlib1g-dev,libicu-dev,libkrb5-dev
Maintainer: Li
Homepage: https://islehorse.com
diff --git a/HorseIsleServer/HISPd/Resources/DEBIAN/copyright b/HorseIsleServer/HISPd/Resources/DEBIAN/copyright
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/HISPd/Resources/DEBIAN/postinst b/HorseIsleServer/HISPd/Resources/DEBIAN/postinst
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/HISPd/Resources/DEBIAN/postrm b/HorseIsleServer/HISPd/Resources/DEBIAN/postrm
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/HISPd/Resources/DEBIAN/prerm b/HorseIsleServer/HISPd/Resources/DEBIAN/prerm
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/HISPd/Resources/HISP.service b/HorseIsleServer/HISPd/Resources/HISP.service
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/HISPd/icon.ico b/HorseIsleServer/HISPd/icon.ico
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/AbuseReport.cs b/HorseIsleServer/LibHISP/Game/AbuseReport.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Arena.cs b/HorseIsleServer/LibHISP/Game/Arena.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Book.cs b/HorseIsleServer/LibHISP/Game/Book.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Chat/Chat.cs b/HorseIsleServer/LibHISP/Game/Chat/Chat.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Chat/Command.cs b/HorseIsleServer/LibHISP/Game/Chat/Command.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Chat/CommandRegister.cs b/HorseIsleServer/LibHISP/Game/Chat/CommandRegister.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Chat/SocialType.cs b/HorseIsleServer/LibHISP/Game/Chat/SocialType.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Events/IsleCardTradingGame.cs b/HorseIsleServer/LibHISP/Game/Events/IsleCardTradingGame.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Events/ModsRevenge.cs b/HorseIsleServer/LibHISP/Game/Events/ModsRevenge.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Events/RandomEvent.cs b/HorseIsleServer/LibHISP/Game/Events/RandomEvent.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Events/RealTimeQuiz.cs b/HorseIsleServer/LibHISP/Game/Events/RealTimeQuiz.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Events/RealTimeRiddle.cs b/HorseIsleServer/LibHISP/Game/Events/RealTimeRiddle.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Events/TackShopGiveaway.cs b/HorseIsleServer/LibHISP/Game/Events/TackShopGiveaway.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Events/WaterBalloonGame.cs b/HorseIsleServer/LibHISP/Game/Events/WaterBalloonGame.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/GameExceptions.cs b/HorseIsleServer/LibHISP/Game/GameExceptions.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Horse/HorseInfo.cs b/HorseIsleServer/LibHISP/Game/Horse/HorseInfo.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Horse/HorseInstance.cs b/HorseIsleServer/LibHISP/Game/Horse/HorseInstance.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Horse/Leaser.cs b/HorseIsleServer/LibHISP/Game/Horse/Leaser.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Horse/WildHorse.cs b/HorseIsleServer/LibHISP/Game/Horse/WildHorse.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Inventory/HorseInventory.cs b/HorseIsleServer/LibHISP/Game/Inventory/HorseInventory.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Inventory/IInventory.cs b/HorseIsleServer/LibHISP/Game/Inventory/IInventory.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Inventory/InventoryItem.cs b/HorseIsleServer/LibHISP/Game/Inventory/InventoryItem.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Inventory/PlayerInventory.cs b/HorseIsleServer/LibHISP/Game/Inventory/PlayerInventory.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Inventory/ShopInventory.cs b/HorseIsleServer/LibHISP/Game/Inventory/ShopInventory.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Items/DroppedItems.cs b/HorseIsleServer/LibHISP/Game/Items/DroppedItems.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Items/Item.cs b/HorseIsleServer/LibHISP/Game/Items/Item.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Items/ItemInstance.cs b/HorseIsleServer/LibHISP/Game/Items/ItemInstance.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Items/Tack.cs b/HorseIsleServer/LibHISP/Game/Items/Tack.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Map.cs b/HorseIsleServer/LibHISP/Game/Map.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Messages.cs b/HorseIsleServer/LibHISP/Game/Messages.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Meta.cs b/HorseIsleServer/LibHISP/Game/Meta.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Multiroom.cs b/HorseIsleServer/LibHISP/Game/Multiroom.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Npc.cs b/HorseIsleServer/LibHISP/Game/Npc.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Quest.cs b/HorseIsleServer/LibHISP/Game/Quest.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Ranch.cs b/HorseIsleServer/LibHISP/Game/Ranch.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Riddler.cs b/HorseIsleServer/LibHISP/Game/Riddler.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Services/Auction.cs b/HorseIsleServer/LibHISP/Game/Services/Auction.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Services/Barn.cs b/HorseIsleServer/LibHISP/Game/Services/Barn.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Services/Farrier.cs b/HorseIsleServer/LibHISP/Game/Services/Farrier.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Services/Groomer.cs b/HorseIsleServer/LibHISP/Game/Services/Groomer.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Services/Inn.cs b/HorseIsleServer/LibHISP/Game/Services/Inn.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Services/Pawneer.cs b/HorseIsleServer/LibHISP/Game/Services/Pawneer.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Services/Shop.cs b/HorseIsleServer/LibHISP/Game/Services/Shop.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Services/Trainer.cs b/HorseIsleServer/LibHISP/Game/Services/Trainer.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Services/Transport.cs b/HorseIsleServer/LibHISP/Game/Services/Transport.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Services/Vet.cs b/HorseIsleServer/LibHISP/Game/Services/Vet.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Services/Workshop.cs b/HorseIsleServer/LibHISP/Game/Services/Workshop.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/SwfModules/Brickpoet.cs b/HorseIsleServer/LibHISP/Game/SwfModules/Brickpoet.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/SwfModules/Drawingroom.cs b/HorseIsleServer/LibHISP/Game/SwfModules/Drawingroom.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/SwfModules/Dressup.cs b/HorseIsleServer/LibHISP/Game/SwfModules/Dressup.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Tracking.cs b/HorseIsleServer/LibHISP/Game/Tracking.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/Treasure.cs b/HorseIsleServer/LibHISP/Game/Treasure.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/TwoPlayer.cs b/HorseIsleServer/LibHISP/Game/TwoPlayer.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Game/World.cs b/HorseIsleServer/LibHISP/Game/World.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/LibHISP.csproj b/HorseIsleServer/LibHISP/LibHISP.csproj
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Player/Award.cs b/HorseIsleServer/LibHISP/Player/Award.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Player/Dance.cs b/HorseIsleServer/LibHISP/Player/Dance.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Player/Equips/CompetitionGear.cs b/HorseIsleServer/LibHISP/Player/Equips/CompetitionGear.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Player/Equips/Jewelry.cs b/HorseIsleServer/LibHISP/Player/Equips/Jewelry.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Player/Friends.cs b/HorseIsleServer/LibHISP/Player/Friends.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Player/Highscore.cs b/HorseIsleServer/LibHISP/Player/Highscore.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Player/Mailbox.cs b/HorseIsleServer/LibHISP/Player/Mailbox.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Player/MutedPlayers.cs b/HorseIsleServer/LibHISP/Player/MutedPlayers.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Player/PlayerQuests.cs b/HorseIsleServer/LibHISP/Player/PlayerQuests.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Player/TrackedQuest.cs b/HorseIsleServer/LibHISP/Player/TrackedQuest.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Player/Trade.cs b/HorseIsleServer/LibHISP/Player/Trade.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Player/User.cs b/HorseIsleServer/LibHISP/Player/User.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Properties/AssemblyInfo.cs b/HorseIsleServer/LibHISP/Properties/AssemblyInfo.cs
old mode 100644
new mode 100755
index a8330b7..6007f7d
--- a/HorseIsleServer/LibHISP/Properties/AssemblyInfo.cs
+++ b/HorseIsleServer/LibHISP/Properties/AssemblyInfo.cs
@@ -30,5 +30,5 @@ using System.Runtime.InteropServices;
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
-[assembly: AssemblyVersion("1.7.110.0")]
-[assembly: AssemblyFileVersion("1.7.110.0")]
+[assembly: AssemblyVersion("1.7.112.0")]
+[assembly: AssemblyFileVersion("1.7.112.0")]
diff --git a/HorseIsleServer/LibHISP/Properties/PublishProfiles/AndroidARM.pubxml b/HorseIsleServer/LibHISP/Properties/PublishProfiles/AndroidARM.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Properties/PublishProfiles/AndroidARM64.pubxml b/HorseIsleServer/LibHISP/Properties/PublishProfiles/AndroidARM64.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Properties/PublishProfiles/Linux64.pubxml b/HorseIsleServer/LibHISP/Properties/PublishProfiles/Linux64.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Properties/PublishProfiles/LinuxARM.pubxml b/HorseIsleServer/LibHISP/Properties/PublishProfiles/LinuxARM.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Properties/PublishProfiles/LinuxARM64.pubxml b/HorseIsleServer/LibHISP/Properties/PublishProfiles/LinuxARM64.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Properties/PublishProfiles/Osx64.pubxml b/HorseIsleServer/LibHISP/Properties/PublishProfiles/Osx64.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Properties/PublishProfiles/OsxARM64.pubxml b/HorseIsleServer/LibHISP/Properties/PublishProfiles/OsxARM64.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Properties/PublishProfiles/Win32.pubxml b/HorseIsleServer/LibHISP/Properties/PublishProfiles/Win32.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Properties/PublishProfiles/Win64.pubxml b/HorseIsleServer/LibHISP/Properties/PublishProfiles/Win64.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Properties/PublishProfiles/WinARM.pubxml b/HorseIsleServer/LibHISP/Properties/PublishProfiles/WinARM.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Properties/PublishProfiles/WinARM64.pubxml b/HorseIsleServer/LibHISP/Properties/PublishProfiles/WinARM64.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Properties/PublishProfiles/iOSARM.pubxml b/HorseIsleServer/LibHISP/Properties/PublishProfiles/iOSARM.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Properties/PublishProfiles/iOSARM64.pubxml b/HorseIsleServer/LibHISP/Properties/PublishProfiles/iOSARM64.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Properties/Resources.Designer.cs b/HorseIsleServer/LibHISP/Properties/Resources.Designer.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Properties/Resources.resx b/HorseIsleServer/LibHISP/Properties/Resources.resx
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Properties/launchSettings.json b/HorseIsleServer/LibHISP/Properties/launchSettings.json
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Resources/default_cross_domain.xml b/HorseIsleServer/LibHISP/Resources/default_cross_domain.xml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Resources/server.properties b/HorseIsleServer/LibHISP/Resources/server.properties
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Security/Authentication.cs b/HorseIsleServer/LibHISP/Security/Authentication.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Security/BBCode.cs b/HorseIsleServer/LibHISP/Security/BBCode.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Security/CrossDomainPolicy.cs b/HorseIsleServer/LibHISP/Security/CrossDomainPolicy.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Security/RandomID.cs b/HorseIsleServer/LibHISP/Security/RandomID.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Server/ConfigReader.cs b/HorseIsleServer/LibHISP/Server/ConfigReader.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Server/DataFixerUpper.cs b/HorseIsleServer/LibHISP/Server/DataFixerUpper.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Server/Database.cs b/HorseIsleServer/LibHISP/Server/Database.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Server/Entry.cs b/HorseIsleServer/LibHISP/Server/Entry.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Server/GameClient.cs b/HorseIsleServer/LibHISP/Server/GameClient.cs
old mode 100644
new mode 100755
index 2e6c273..0e8176e
--- a/HorseIsleServer/LibHISP/Server/GameClient.cs
+++ b/HorseIsleServer/LibHISP/Server/GameClient.cs
@@ -113,13 +113,18 @@ namespace HISP.Server
}
public static void CreateClient(object sender, SocketAsyncEventArgs e)
{
- do
- {
- Socket eSocket = e.AcceptSocket;
- if(eSocket != null)
- new GameClient(eSocket);
- e.AcceptSocket = null;
- } while (!GameServer.ServerSocket.AcceptAsync(e));
+ try{
+ do
+ {
+ Socket eSocket = e.AcceptSocket;
+ if(eSocket != null)
+ new GameClient(eSocket);
+ e.AcceptSocket = null;
+
+ if(GameServer.ServerSocket == null)
+ return;
+ } while (!GameServer.ServerSocket.AcceptAsync(e));
+ }catch(ObjectDisposedException) {} // server shutdown
}
private void timeoutTimerTick(object state)
{
diff --git a/HorseIsleServer/LibHISP/Server/GameDataJson.cs b/HorseIsleServer/LibHISP/Server/GameDataJson.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Server/GameServer.cs b/HorseIsleServer/LibHISP/Server/GameServer.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Server/Logger.cs b/HorseIsleServer/LibHISP/Server/Logger.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Server/PacketBuilder.cs b/HorseIsleServer/LibHISP/Server/PacketBuilder.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/LibHISP/Server/ServerVersion.cs b/HorseIsleServer/LibHISP/Server/ServerVersion.cs
old mode 100644
new mode 100755
index 774f37f..5efadbe
--- a/HorseIsleServer/LibHISP/Server/ServerVersion.cs
+++ b/HorseIsleServer/LibHISP/Server/ServerVersion.cs
@@ -1,78 +1,78 @@
using System;
using System.Globalization;
using HISP.Properties;
-
-namespace HISP.Server
-{
- public class ServerVersion
- {
-
- public static string PRODUCT = "HISP";
-
- public static string GetArchitecture()
- {
-#if ARCH_ANYCPU
- return "ANYCPU";
-#elif ARCH_X86_64
- return "x86_64";
-#elif ARCH_X86
- return "x86";
-#elif ARCH_ARM
- return "ARM";
-#elif ARCH_ARM64
- return "ARM64";
-#else
- return "UNK_ARCH";
-#endif
- }
- public static string GetPlatform()
- {
-#if OS_DEBUG
- return "DEBUG";
-#elif OS_WINDOWS
- return "WINDOWS";
-#elif OS_ANDROID
- return "ANDROID";
-#elif OS_IOS
- return "IOS";
-#elif OS_LINUX
- return "LINUX";
-#elif OS_MACOS
- return "MACOS";
-#else
- return "UNK_PLATFORM";
-#endif
-
- }
- public static string GetVersionString()
- {
- return Resources.GitTag.Replace("\r", "").Replace("\n", "").ToString().Trim();
- }
- public static string GetBranch()
- {
- return Resources.GitBranch.Replace("\r", "").Replace("\n", "").ToString().Trim();
- }
- public static string GetBuildDate()
- {
- return Resources.BuildDate.Replace("\r", "").Replace("\n", "").ToString().Trim();
- }
- public static string GetBuildTime()
- {
- return Resources.BuildTime.Replace("\r", "").Replace("\n", "").ToString().Trim();
- }
-
+
+namespace HISP.Server
+{
+ public class ServerVersion
+ {
+
+ public static string PRODUCT = "HISP";
+
+ public static string GetArchitecture()
+ {
+#if ARCH_ANYCPU
+ return "ANYCPU";
+#elif ARCH_X86_64
+ return "x86_64";
+#elif ARCH_X86
+ return "x86";
+#elif ARCH_ARM
+ return "ARM";
+#elif ARCH_ARM64
+ return "ARM64";
+#else
+ return "UNK_ARCH";
+#endif
+ }
+ public static string GetPlatform()
+ {
+#if OS_DEBUG
+ return "DEBUG";
+#elif OS_WINDOWS
+ return "WINDOWS";
+#elif OS_ANDROID
+ return "ANDROID";
+#elif OS_IOS
+ return "IOS";
+#elif OS_LINUX
+ return "LINUX";
+#elif OS_MACOS
+ return "MACOS";
+#else
+ return "UNK_PLATFORM";
+#endif
+
+ }
+ public static string GetVersionString()
+ {
+ return Resources.GitTag.Replace("\r", "").Replace("\n", "").ToString().Trim();
+ }
+ public static string GetBranch()
+ {
+ return Resources.GitBranch.Replace("\r", "").Replace("\n", "").ToString().Trim();
+ }
+ public static string GetBuildDate()
+ {
+ return Resources.BuildDate.Replace("\r", "").Replace("\n", "").ToString().Trim();
+ }
+ public static string GetBuildTime()
+ {
+ return Resources.BuildTime.Replace("\r", "").Replace("\n", "").ToString().Trim();
+ }
+
public static string GetCommitHashVersion()
{
return UInt16.Parse(Resources.GitCommit.Substring(0, 4), NumberStyles.HexNumber).ToString();
- }
-
- public static string GetCommitHash(int TotalBytes)
- {
- return Resources.GitCommit.Substring(0, TotalBytes).Replace("\r", "").Replace("\n", "").ToString().Trim();
- }
- public static string GetBuildString()
- {
- return PRODUCT + " " + GetVersionString() + " " + GetBranch() + "@" + GetCommitHash(6) + " (" + GetArchitecture() + "; " + GetPlatform() + "); Built @ " + GetBuildDate() + " " + GetBuildTime();
- }
- }
-}
+ }
+
+ public static string GetCommitHash(int TotalBytes)
+ {
+ return Resources.GitCommit.Substring(0, TotalBytes).Replace("\r", "").Replace("\n", "").ToString().Trim();
+ }
+ public static string GetBuildString()
+ {
+ return PRODUCT + " " + GetVersionString() + " " + GetBranch() + "@" + GetCommitHash(6) + " (" + GetArchitecture() + "; " + GetPlatform() + "); Built @ " + GetBuildDate() + " " + GetBuildTime();
+ }
+ }
+}
diff --git a/HorseIsleServer/LibHISP/Server/Util.cs b/HorseIsleServer/LibHISP/Server/Util.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/App.axaml b/HorseIsleServer/MPN00BS/App.axaml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/App.axaml.cs b/HorseIsleServer/MPN00BS/App.axaml.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/CrossDomainPolicy.xml b/HorseIsleServer/MPN00BS/CrossDomainPolicy.xml
new file mode 100755
index 0000000..b9c7e79
--- /dev/null
+++ b/HorseIsleServer/MPN00BS/CrossDomainPolicy.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/HorseIsleServer/MPN00BS/HTTP/ContentServer.cs b/HorseIsleServer/MPN00BS/HTTP/ContentServer.cs
old mode 100644
new mode 100755
index 5640781..bf9a6e4
--- a/HorseIsleServer/MPN00BS/HTTP/ContentServer.cs
+++ b/HorseIsleServer/MPN00BS/HTTP/ContentServer.cs
@@ -34,7 +34,6 @@ namespace HTTP
{
clientSock = ClientSocket;
baseServ = Server;
- baseServ.WriteDebugOutput("Client Connected @ " + clientSock.RemoteEndPoint.ToString());
ProcessRequests();
clientSock.Close();
@@ -107,7 +106,6 @@ namespace HTTP
private void RespondGet(string name)
{
- baseServ.WriteDebugOutput("GET " + name);
if (ContentItemExists(name))
{
@@ -156,7 +154,6 @@ namespace HTTP
private void RespondHead(string path)
{
string name = Path.GetFileName(path);
- baseServ.WriteDebugOutput("HEAD " + path);
if (ContentItemExists(name))
{
@@ -262,26 +259,37 @@ namespace HTTP
{
public List Contents = new List();
public Socket ServerSocket;
- public void WriteDebugOutput(string txt)
- {
- Console.WriteLine("[HTTP] " + txt);
- }
+
public void CreateClient(object sender, SocketAsyncEventArgs e)
{
do
{
+ if(shutdownServer)
+ return;
+
Socket eSocket = e.AcceptSocket;
if (eSocket != null)
new ContentClient(this, eSocket);
e.AcceptSocket = null;
} while (!ServerSocket.AcceptAsync(e));
}
- public ContentServer(string ip)
+
+ public void Shutdown() {
+ shutdownServer = true;
+ ServerSocket.Dispose();
+ ServerSocket = null;
+ }
+ private bool shutdownServer = false;
+ public string ipaddr;
+ public short portnum;
+
+ public ContentServer(string ip, short port)
{
-
- WriteDebugOutput("Listening for connections on port 80.");
- IPEndPoint ep = new IPEndPoint(IPAddress.Parse(ip), 80);
+ ipaddr = ip;
+ portnum = port;
+
+ IPEndPoint ep = new IPEndPoint(IPAddress.Parse(ip), port);
ServerSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
ServerSocket.Bind(ep);
ServerSocket.Listen(0x7fffffff);
diff --git a/HorseIsleServer/MPN00BS/HispLogo.gif b/HorseIsleServer/MPN00BS/HispLogo.gif
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/HispViewModel.cs b/HorseIsleServer/MPN00BS/HispViewModel.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/LoadingWindow.axaml b/HorseIsleServer/MPN00BS/LoadingWindow.axaml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/LoadingWindow.axaml.cs b/HorseIsleServer/MPN00BS/LoadingWindow.axaml.cs
old mode 100644
new mode 100755
index f1e855e..08a2bcb
--- a/HorseIsleServer/MPN00BS/LoadingWindow.axaml.cs
+++ b/HorseIsleServer/MPN00BS/LoadingWindow.axaml.cs
@@ -38,6 +38,7 @@ namespace MPN00BS
Dispatcher.UIThread.InvokeAsync(() =>
{
ServerStarter.CloseHorseIsleClient();
+ ServerStarter.ShutdownHTTPServer();
this.Close();
});
}
@@ -52,9 +53,6 @@ namespace MPN00BS
public LoadingWindow()
{
InitializeComponent();
-#if DEBUG
- this.AttachDevTools();
-#endif
ServerStarter.StartHttpServer();
new Task( () => ServerStarter.StartHispServer(ProgressUpdate, OnNoUsersFound, OnServerStarted, OnShutdown)).Start();
}
diff --git a/HorseIsleServer/MPN00BS/MPN00BS.csproj b/HorseIsleServer/MPN00BS/MPN00BS.csproj
old mode 100644
new mode 100755
index 4179117..139a513
--- a/HorseIsleServer/MPN00BS/MPN00BS.csproj
+++ b/HorseIsleServer/MPN00BS/MPN00BS.csproj
@@ -98,7 +98,12 @@
OS_LINUX;ARCH_ARM64
none
-
+
+ true
+ OS_LINUX;ARCH_ANYCPU
+ none
+
+
osx-x64
true
@@ -218,8 +223,6 @@
-
-
@@ -228,8 +231,17 @@
-
+
PreserveNewest
-
+ flashplayer/LINUX/flash.elf
+
+
+
+
+ PreserveNewest
+ flashplayer\WINDOWS\flash.exe
+
+
+
diff --git a/HorseIsleServer/MPN00BS/MPN00BS.csproj.user b/HorseIsleServer/MPN00BS/MPN00BS.csproj.user
deleted file mode 100644
index a17a1bb..0000000
--- a/HorseIsleServer/MPN00BS/MPN00BS.csproj.user
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
- <_LastSelectedProfileId>C:\Users\Li\Documents\git\HISP\HorseIsleServer\MPN00BS\Properties\PublishProfiles\Win64.pubxml
-
-
\ No newline at end of file
diff --git a/HorseIsleServer/MPN00BS/MessageBox.axaml b/HorseIsleServer/MPN00BS/MessageBox.axaml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/MessageBox.axaml.cs b/HorseIsleServer/MPN00BS/MessageBox.axaml.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/MiniMvvm/MiniCommand.cs b/HorseIsleServer/MPN00BS/MiniMvvm/MiniCommand.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/MiniMvvm/PropertyChangedExtensions.cs b/HorseIsleServer/MPN00BS/MiniMvvm/PropertyChangedExtensions.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/MiniMvvm/ViewModelBase.cs b/HorseIsleServer/MPN00BS/MiniMvvm/ViewModelBase.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/MpOrSp.axaml b/HorseIsleServer/MPN00BS/MpOrSp.axaml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/MpOrSp.axaml.cs b/HorseIsleServer/MPN00BS/MpOrSp.axaml.cs
old mode 100644
new mode 100755
index 2ea047d..3d0fd4d
--- a/HorseIsleServer/MPN00BS/MpOrSp.axaml.cs
+++ b/HorseIsleServer/MPN00BS/MpOrSp.axaml.cs
@@ -9,9 +9,6 @@ namespace MPN00BS
public MpOrSp()
{
InitializeComponent();
-#if DEBUG
- this.AttachDevTools();
-#endif
}
private void playSingleplayerClick(object sender, RoutedEventArgs e)
{
diff --git a/HorseIsleServer/MPN00BS/Program.cs b/HorseIsleServer/MPN00BS/Program.cs
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/Properties/AssemblyInfo.cs b/HorseIsleServer/MPN00BS/Properties/AssemblyInfo.cs
old mode 100644
new mode 100755
index 08f2436..84fdb1d
--- a/HorseIsleServer/MPN00BS/Properties/AssemblyInfo.cs
+++ b/HorseIsleServer/MPN00BS/Properties/AssemblyInfo.cs
@@ -30,5 +30,5 @@ using System.Runtime.InteropServices;
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
-[assembly: AssemblyVersion("1.7.110.0")]
-[assembly: AssemblyFileVersion("1.7.110.0")]
+[assembly: AssemblyVersion("1.7.112.0")]
+[assembly: AssemblyFileVersion("1.7.112.0")]
diff --git a/HorseIsleServer/MPN00BS/Properties/PublishProfiles/AndroidARM.pubxml b/HorseIsleServer/MPN00BS/Properties/PublishProfiles/AndroidARM.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/Properties/PublishProfiles/AndroidARM64.pubxml b/HorseIsleServer/MPN00BS/Properties/PublishProfiles/AndroidARM64.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/Properties/PublishProfiles/Linux64.pubxml b/HorseIsleServer/MPN00BS/Properties/PublishProfiles/Linux64.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/Properties/PublishProfiles/LinuxARM.pubxml b/HorseIsleServer/MPN00BS/Properties/PublishProfiles/LinuxARM.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/Properties/PublishProfiles/LinuxARM64.pubxml b/HorseIsleServer/MPN00BS/Properties/PublishProfiles/LinuxARM64.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/Properties/PublishProfiles/Osx64.pubxml b/HorseIsleServer/MPN00BS/Properties/PublishProfiles/Osx64.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/Properties/PublishProfiles/OsxARM64.pubxml b/HorseIsleServer/MPN00BS/Properties/PublishProfiles/OsxARM64.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/Properties/PublishProfiles/Win32.pubxml b/HorseIsleServer/MPN00BS/Properties/PublishProfiles/Win32.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/Properties/PublishProfiles/Win64.pubxml b/HorseIsleServer/MPN00BS/Properties/PublishProfiles/Win64.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/Properties/PublishProfiles/Win64.pubxml.user b/HorseIsleServer/MPN00BS/Properties/PublishProfiles/Win64.pubxml.user
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/Properties/PublishProfiles/WinARM.pubxml b/HorseIsleServer/MPN00BS/Properties/PublishProfiles/WinARM.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/Properties/PublishProfiles/WinARM64.pubxml b/HorseIsleServer/MPN00BS/Properties/PublishProfiles/WinARM64.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/Properties/PublishProfiles/iOSARM.pubxml b/HorseIsleServer/MPN00BS/Properties/PublishProfiles/iOSARM.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/Properties/PublishProfiles/iOSARM64.pubxml b/HorseIsleServer/MPN00BS/Properties/PublishProfiles/iOSARM64.pubxml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/RegisterWindow.axaml b/HorseIsleServer/MPN00BS/RegisterWindow.axaml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/RegisterWindow.axaml.cs b/HorseIsleServer/MPN00BS/RegisterWindow.axaml.cs
old mode 100644
new mode 100755
index a1752a0..31ffd04
--- a/HorseIsleServer/MPN00BS/RegisterWindow.axaml.cs
+++ b/HorseIsleServer/MPN00BS/RegisterWindow.axaml.cs
@@ -15,9 +15,6 @@ namespace MPN00BS
public RegisterWindow()
{
InitializeComponent();
-#if DEBUG
- this.AttachDevTools();
-#endif
}
diff --git a/HorseIsleServer/MPN00BS/ResetWindow.axaml b/HorseIsleServer/MPN00BS/ResetWindow.axaml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/ResetWindow.axaml.cs b/HorseIsleServer/MPN00BS/ResetWindow.axaml.cs
old mode 100644
new mode 100755
index fd52d10..0ffeb6c
--- a/HorseIsleServer/MPN00BS/ResetWindow.axaml.cs
+++ b/HorseIsleServer/MPN00BS/ResetWindow.axaml.cs
@@ -14,9 +14,6 @@ namespace MPN00BS
public ResetWindow()
{
InitializeComponent();
-#if DEBUG
- this.AttachDevTools();
-#endif
}
private void ValidateInput()
diff --git a/HorseIsleServer/MPN00BS/ServerSelection.axaml b/HorseIsleServer/MPN00BS/ServerSelection.axaml
old mode 100644
new mode 100755
diff --git a/HorseIsleServer/MPN00BS/ServerSelection.axaml.cs b/HorseIsleServer/MPN00BS/ServerSelection.axaml.cs
old mode 100644
new mode 100755
index 6b571ca..58df6e1
--- a/HorseIsleServer/MPN00BS/ServerSelection.axaml.cs
+++ b/HorseIsleServer/MPN00BS/ServerSelection.axaml.cs
@@ -2,6 +2,8 @@ using Avalonia;
using Avalonia.Controls;
using Avalonia.Interactivity;
using Avalonia.Markup.Xaml;
+using Avalonia.Threading;
+
using System;
namespace MPN00BS
@@ -11,9 +13,6 @@ namespace MPN00BS
public ServerSelection()
{
InitializeComponent();
-#if DEBUG
- this.AttachDevTools();
-#endif
}
private void InitializeComponent()
@@ -31,7 +30,11 @@ namespace MPN00BS
private void OnClientExit()
{
- this.Close();
+ Dispatcher.UIThread.InvokeAsync(() =>
+ {
+ ServerStarter.ShutdownHTTPServer();
+ this.Close();
+ });
}
}
}
diff --git a/HorseIsleServer/MPN00BS/ServerStarter.cs b/HorseIsleServer/MPN00BS/ServerStarter.cs
old mode 100644
new mode 100755
index 14ab970..b66aaf4
--- a/HorseIsleServer/MPN00BS/ServerStarter.cs
+++ b/HorseIsleServer/MPN00BS/ServerStarter.cs
@@ -31,7 +31,9 @@ namespace MPN00BS
cs.Contents.Add(ci);
}
-
+ public static void ShutdownHTTPServer(){
+ cs.Shutdown();
+ }
public static void ShowCrash(bool error, string type, string text)
{
@@ -56,9 +58,20 @@ namespace MPN00BS
HorseIsleClientExitCallback = callback;
clientProcess = new Process();
+#if OS_WINDOWS
clientProcess.StartInfo.FileName = Path.Combine(Directory.GetCurrentDirectory(), "flashplayer", "WINDOWS", "flash.exe");
- clientProcess.StartInfo.Arguments = "http://127.0.0.1/horseisle.swf?SERVER=" + serverIp + "&PORT=" + serverPort.ToString();
-
+#elif OS_LINUX
+ clientProcess.StartInfo.FileName = Path.Combine(Directory.GetCurrentDirectory(), "flashplayer", "LINUX", "flash.elf");
+#else
+ MessageBox.Show(null,"ERROR: No path for flash projector specified on this platform", "Porting error", MessageBoxButtons.Ok);
+#endif
+
+
+#if OS_LINUX
+ clientProcess.StartInfo.Arguments = "http://"+cs.ipaddr+":"+cs.portnum+"/horseisle_mapfix.swf?SERVER=" + serverIp + "&PORT=" + serverPort.ToString();
+#else
+ clientProcess.StartInfo.Arguments = "http://"+cs.ipaddr+":"+cs.portnum+"/horseisle.swf?SERVER=" + serverIp + "&PORT=" + serverPort.ToString();
+#endif
clientProcess.StartInfo.RedirectStandardOutput = true;
clientProcess.StartInfo.RedirectStandardError = true;
@@ -191,27 +204,41 @@ namespace MPN00BS
public static void SetBaseDir()
{
-
+#if OS_WINDOWS
string hispFolder = Environment.GetEnvironmentVariable("APPDATA");
if (hispFolder == null)
return;
BaseDir = Path.Combine(hispFolder, "HISP", "N00BS");
Directory.CreateDirectory(BaseDir);
+#elif OS_LINUX
+ string hispFolder = Environment.GetEnvironmentVariable("HOME");
+ if (hispFolder == null)
+ return;
+
+ BaseDir = Path.Combine(hispFolder, ".HISP", "N00BS");
+#endif
}
public static void StartHttpServer()
{
SetBaseDir();
try
{
- cs = new ContentServer("127.0.0.1");
- string[] fileList = Directory.GetFiles(Path.Combine(Directory.GetCurrentDirectory(), "client"), "*", SearchOption.AllDirectories);
- foreach (string file in fileList)
+
+#if OS_LINUX
+ cs = new ContentServer("127.0.0.1", 12322);
+#else
+ cs = new ContentServer("127.0.0.1", 80);
+#endif
+ string clientFolder = Path.Combine(Directory.GetCurrentDirectory(), "client");
+ string[] fileList = Directory.GetFiles(clientFolder, "*", SearchOption.AllDirectories);
+ foreach (string file in fileList){
addToList(file);
+ }
}
catch (Exception e)
{
- MessageBox.Show(null, "Web server failed to start: " + e.Message, "Error starting web server", MessageBoxButtons.Ok);
+ MessageBox.Show(null, "Web server failed to start: "+ e.GetType().Name + " " + e.Message, "Error starting web server", MessageBoxButtons.Ok);
return;
}
diff --git a/HorseIsleServer/MPN00BS/flashplayer/LINUX/flash.elf b/HorseIsleServer/MPN00BS/flashplayer/LINUX/flash.elf
new file mode 100755
index 0000000000000000000000000000000000000000..504435c351aae6619b71a8f5aefd8a1d05538c46
GIT binary patch
literal 15187288
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