FLhook Mobile Docking
-
Well, the code that w0dk4 gives is just that for the hook you need - you need to code the rest of the implementation yourself. Or you could use the FLHook that I’ve coded for 88 Flak - it includes a complete, mostly working mobile docking implementation as well as other features. It also contains the source code so you can check out how it was implemented/put the code in your own FLHook version/whatever. If you do decide to check it out, make sure you read the readme (especially under Special Features for the mobile docking) and reconfigure FLHook.ini to avoid a server crash.
-
BTW
M0tah’s 1.6 has some more outstanding features as- kick after beam
- enhanced settings for cloaks
- mount restrictions
- docking restrictions
and some more (we hopefully will see as plugin).
A BIG TY 4 this great work.
And back 2 the topic:
4 the mobile docking feature
you ll need a xtra base in every system
if i understood that stuff correct. -
Just saying M0tah, but maybe you would be interested in transferring your FLHook version into a set of plugins? I’m sure it would kickstart development of other plugins and it would probably be more practical for less tech-savvy server admins…
Or you can also let someone else do that job for you, too
-
I’ve actually started making some of the features into plugins. So far I’ve made a docking restrictions plugin and also have made a plugin that contains all the new functions I’ve added to Flak’s FLHook so it’ll be a lot easier to make plugins out of the features in it.
I was in the middle of making a plugin that contains improved death messages when I realized that the FLHook plugin version didn’t export an important variable used in the original code…so I posted here. w0dk4 hasn’t responded to the post and it doesn’t look like the other variables mentioned in the thread were put in the plugin version 1.5.9…and I was kinda waiting for a new plugin version to resume development on my plugins. Well, I guess I can just hold off on the improved death messages plugin until w0dk4 releases a new plugin version.
Expect a thread containing plugins based off of features from 88 Flak’s FLHook to be posted in the plugins forum in the near future ;).
@F!R:
4 the mobile docking feature
you ll need a xtra base in every system
if i understood that stuff correct.Yes, you understood it correctly. For the mobile docking you’ll need another base in every system (look in the readme for complete info). The base is where the player is actually docked when they dock with a carrier.
-
i use some FLshell command like the restart command for templates, also btw I have made the base put ships in list for docking and still cant dock with mobile docking, can I get a step by step explain? Also is there a way for me to disable the beam kick, when we beam on our server we just normally reload char but the beam kick does a little more than that it kicks us and sometimes I myself cant reconnect.
-
what compiler did you use, and how can I get it?
Using Ultimate++, a C++ IDE, you can use the free VC++ 2003 toolkit to compile and link FLHook.
How to:
Download and install the Windows SDK and the VC++ 2003 Toolkit.
Download and install Ultimate++. In the after install config, select the directory you installed the Windows SDK to if it is not automatically detected (“C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2” by default).
There should be a Ultimate++ project file included with the source code that you can load. Note that you will only be able to build release builds because the VC++ 2003 toolkit is missing a required lib file for building debug builds. If you run into problems, check out this thread.could not edit post hmm… well also cant do mobile docking, I assign ships right and base file ( i think) and it still says docking not allowed.
Make sure that you are in the same group as the other player. If you are and it still says docking not allowed, check the FLHook console window for something like “WARNING: Mobile docking proxy base does not exist in system bla”. If one of those warnings is present, you probably don’t have the proxy base named correctly. A proxy base in New York should have an entry like this, for example```
[Object]
nickname = Li01_Mobile_Proxy_Base
… -
I tried another method and had these errors
----- FLhook ( DLL MAIN MSC71 DEBUG DEBUG_FULL BLITZ WIN32 MSC ) FLHook.cpp FLhook: 1 file(s) built in (0:01.85), 1857 msecs / file, duration = 1935 msecs, parallelization 0% Linking... Creating library C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\out\MSC71.Debug.Debug_ full.Dll\FLhook.lib and object C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\out\MSC 71.Debug.Debug_full.Dll\FLhook.exp FLHook.obj : error LNK2019: unresolved external symbol "void __cdecl WriteProcMem(void *,void *,int)" (?Write ProcMem@@YAXPAX0H@Z) referenced in function _DllMain@12 FLHook.obj : error LNK2019: unresolved external symbol "void __cdecl ReadProcMem(void *,void *,int)" (?ReadPr ocMem@@YAXPAX0H@Z) referenced in function _DllMain@12 FLHook.obj : error LNK2019: unresolved external symbol "int __stdcall HkIServerImpl::Update(void)" (?Update@H kIServerImpl@@YGHXZ) referenced in function _DllMain@12 FLHook.obj : error LNK2019: unresolved external symbol "class std::basic_string<unsigned short,struct="" std::ch="" ar_traits<unsigned="" short="">,class std::allocator <unsigned short="">> __cdecl ToLower(class std::basic_string< unsigned short,struct std::char_traits<unsigned short="">,class std::allocator <unsigned short="">>)" (?ToLower @@YA?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@V12@@Z) referenced in function _DllMa in@12 FLHook.obj : error LNK2019: unresolved external symbol "class std::basic_string<unsigned short,struct="" std::ch="" ar_traits<unsigned="" short="">,class std::allocator <unsigned short="">> __cdecl stows(class std::basic_string<ch ar,struct="" std::char_traits<char="">,class std::allocator <char>>)" (?stows@@YA?AV?$basic_string@GU?$char_tra its@G@std@@V?$allocator@G@2@@std@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z) referenc ed in function _DllMain@12 FLHook.obj : error LNK2019: unresolved external symbol "class std::basic_string<char,struct std::char_traits<="" char="">,class std::allocator <char>> __cdecl ToLower(class std::basic_string<char,struct std::char_traits<c="" har="">,class std::allocator <char>>)" (?ToLower@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@ 2@@std@@V12@@Z) referenced in function _RockOn FLHook.obj : error LNK2019: unresolved external symbol _GetModuleFileNameExA@16 referenced in function _RockO n FLHook.obj : error LNK2019: unresolved external symbol _GetModuleBaseNameA@16 referenced in function _RockOn FLHook.obj : error LNK2019: unresolved external symbol _EnumProcessModules@16 referenced in function _RockOn FLHook.obj : error LNK2019: unresolved external symbol _EnumProcesses@12 referenced in function _RockOn FLHook.obj : error LNK2019: unresolved external symbol _closesocket@4 referenced in function $L81876 FLHook.obj : error LNK2019: unresolved external symbol "void __cdecl UnloadHookExports(void)" (?UnloadHookExp orts@@YAXXZ) referenced in function $L81876 FLHook.obj : error LNK2001: unresolved external symbol "int set_iWPort" (?set_iWPort@@3HA) FLHook.obj : error LNK2019: unresolved external symbol _listen@8 referenced in function "bool __cdecl FLHookI nit(void)" (?FLHookInit@@YA_NXZ) FLHook.obj : error LNK2019: unresolved external symbol _bind@12 referenced in function "bool __cdecl FLHookIn it(void)" (?FLHookInit@@YA_NXZ) FLHook.obj : error LNK2019: unresolved external symbol _htons@4 referenced in function "bool __cdecl FLHookIn it(void)" (?FLHookInit@@YA_NXZ) FLHook.obj : error LNK2019: unresolved external symbol _socket@12 referenced in function "bool __cdecl FLHook Init(void)" (?FLHookInit@@YA_NXZ) FLHook.obj : error LNK2001: unresolved external symbol "int set_iPort" (?set_iPort@@3HA) FLHook.obj : error LNK2019: unresolved external symbol _WSAStartup@8 referenced in function "bool __cdecl FLH ookInit(void)" (?FLHookInit@@YA_NXZ) FLHook.obj : error LNK2001: unresolved external symbol "bool set_bSocketActivated" (?set_bSocketActivated@@3_ NA) FLHook.obj : error LNK2019: unresolved external symbol "bool __cdecl InitHookExports(void)" (?InitHookExports @@YA_NXZ) referenced in function "bool __cdecl FLHookInit(void)" (?FLHookInit@@YA_NXZ) FLHook.obj : error LNK2019: unresolved external symbol "void __cdecl LoadSettings(void)" (?LoadSettings@@YAXX Z) referenced in function "bool __cdecl FLHookInit(void)" (?FLHookInit@@YA_NXZ) FLHook.obj : error LNK2001: unresolved external symbol "void * hThreadResolver" (?hThreadResolver@@3PAXA) FLHook.obj : error LNK2019: unresolved external symbol "class std::list <struct hkplayerinfo,class="" std::alloca="" tor<struct="" hkplayerinfo="">> __cdecl HkGetPlayers(void)" (?HkGetPlayers@@YA?AV?$list@UHKPLAYERINFO@@V?$allo cator@UHKPLAYERINFO@@@std@@@std@@XZ) referenced in function "void __cdecl FLHookInitUnload(void)" (?FLHoo kInitUnload@@YAXXZ) FLHook.obj : error LNK2001: unresolved external symbol "class BinaryTree <struct uint_wrap="">* set_btMobDockShi pArchIDs" (?set_btMobDockShipArchIDs@@3PAV?$BinaryTree@UUINT_WRAP@@@@A) FLHook.obj : error LNK2001: unresolved external symbol "class BinaryTree <struct float_wrap="">* set_btSupressHe alth" (?set_btSupressHealth@@3PAV?$BinaryTree@UFLOAT_WRAP@@@@A) FLHook.obj : error LNK2001: unresolved external symbol "class BinaryTree <struct solar_repair="">* btSolarList" (?btSolarList@@3PAV?$BinaryTree@USOLAR_REPAIR@@@@A) FLHook.obj : error LNK2001: unresolved external symbol "class BinaryTree <struct repair_gun="">* set_btRepairGun " (?set_btRepairGun@@3PAV?$BinaryTree@UREPAIR_GUN@@@@A) FLHook.obj : error LNK2019: unresolved external symbol "public: void __thiscall CCmds::ExecuteCommandString(c lass std::basic_string<unsigned short,struct="" std::char_traits<unsigned="" short="">,class std::allocator <unsign ed="" short="">>)" (?ExecuteCommandString@CCmds@@QAEXV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@ std@@@Z) referenced in function "bool __cdecl ProcessSocketCmd(struct SOCKET_CONNECTION *,class std::basi c_string<unsigned short,struct="" std::char_traits<unsigned="" short="">,class std::allocator <unsigned short="">>)" (?ProcessSocketCmd@@YA_NPAUSOCKET_CONNECTION@@V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@st d@@@Z) FLHook.obj : error LNK2019: unresolved external symbol "public: void __thiscall CCmds::SetRightsByString(clas s std::basic_string<char,struct std::char_traits<char="">,class std::allocator <char>>)" (?SetRightsByString @CCmds@@QAEXV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) referenced in function "boo l __cdecl ProcessSocketCmd(struct SOCKET_CONNECTION *,class std::basic_string<unsigned short,struct="" std::="" char_traits<unsigned="" short="">,class std::allocator <unsigned short="">>)" (?ProcessSocketCmd@@YA_NPAUSOCKET_CO NNECTION@@V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@@Z) FLHook.obj : error LNK2019: unresolved external symbol "class std::basic_string<char,struct std::char_traits<="" char="">,class std::allocator <char>> __cdecl wstos(class std::basic_string<unsigned short,struct="" std::char_="" traits<unsigned="" short="">,class std::allocator <unsigned short="">>)" (?wstos@@YA?AV?$basic_string@DU?$char_tra its@D@std@@V?$allocator@D@2@@std@@V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z) referenc ed in function "bool __cdecl ProcessSocketCmd(struct SOCKET_CONNECTION *,class std::basic_string<unsigned short,struct="" std::char_traits<unsigned="" short="">,class std::allocator <unsigned short="">>)" (?ProcessSocketCm d@@YA_NPAUSOCKET_CONNECTION@@V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@@Z) FLHook.obj : error LNK2019: unresolved external symbol "class std::basic_string<char,struct std::char_traits<="" char="">,class std::allocator <char>> __cdecl IniGetS(class std::basic_string<char,struct std::char_traits<c="" har="">,class std::allocator <char>>,class std::basic_string<char,struct std::char_traits<char="">,class std::a llocator <char>>,class std::basic_string<char,struct std::char_traits<char="">,class std::allocator <char>>, class std::basic_string<char,struct std::char_traits<char="">,class std::allocator <char>>)" (?IniGetS@@YA?A V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@000@Z) referenced in function "bool __c decl ProcessSocketCmd(struct SOCKET_CONNECTION *,class std::basic_string<unsigned short,struct="" std::char_="" traits<unsigned="" short="">,class std::allocator <unsigned short="">>)" (?ProcessSocketCmd@@YA_NPAUSOCKET_CONNECT ION@@V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@@Z) FLHook.obj : error LNK2001: unresolved external symbol "class std::basic_string<char,struct std::char_traits<="" char="">,class std::allocator <char>> set_scCfgFile" (?set_scCfgFile@@3V?$basic_string@DU?$char_traits@D@std @@V?$allocator@D@2@@std@@A) FLHook.obj : error LNK2019: unresolved external symbol "public: void __cdecl CCmds::Print(class std::basic_st ring<unsigned short,struct="" std::char_traits<unsigned="" short="">,class std::allocator <unsigned short="">>,...)" (?Print@CCmds@@QAAXV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@ZZ) referenced in functi on "bool __cdecl ProcessSocketCmd(struct SOCKET_CONNECTION *,class std::basic_string<unsigned short,struc="" t="" std::char_traits<unsigned="" short="">,class std::allocator <unsigned short="">>)" (?ProcessSocketCmd@@YA_NPAUSO CKET_CONNECTION@@V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@@Z) FLHook.obj : error LNK2019: unresolved external symbol _send@16 referenced in function "bool __cdecl ProcessS ocketCmd(struct SOCKET_CONNECTION *,class std::basic_string<unsigned short,struct="" std::char_traits<unsign="" ed="" short="">,class std::allocator <unsigned short="">>)" (?ProcessSocketCmd@@YA_NPAUSOCKET_CONNECTION@@V?$basic _string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@@Z) FLHook.obj : error LNK2019: unresolved external symbol "void __cdecl AddLog(char const *,...)" (?AddLog@@YAXP BDZZ) referenced in function $L82086 FLHook.obj : error LNK2019: unresolved external symbol _recv@16 referenced in function "void __cdecl ProcessP endingCommands(void)" (?ProcessPendingCommands@@YAXXZ) FLHook.obj : error LNK2019: unresolved external symbol _ioctlsocket@12 referenced in function "void __cdecl P rocessPendingCommands(void)" (?ProcessPendingCommands@@YAXXZ) FLHook.obj : error LNK2019: unresolved external symbol _accept@12 referenced in function "void __cdecl Proces sPendingCommands(void)" (?ProcessPendingCommands@@YAXXZ) FLHook.obj : error LNK2019: unresolved external symbol _select@20 referenced in function "void __cdecl Proces sPendingCommands(void)" (?ProcessPendingCommands@@YAXXZ) FLHook.obj : error LNK2001: unresolved external symbol "public: virtual class std::basic_string<unsigned shor="" t,struct="" std::char_traits<unsigned="" short="">,class std::allocator <unsigned short="">> __thiscall CSocket::GetA dminName(void)" (?GetAdminName@CSocket@@UAE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std @@XZ) FLHook.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall CSocket::DoPrint(clas s std::basic_string<unsigned short,struct="" std::char_traits<unsigned="" short="">,class std::allocator <unsigned short="">>)" (?DoPrint@CSocket@@UAEXV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@@Z) FLHook.obj : error LNK2001: unresolved external symbol "public: virtual class std::basic_string<unsigned shor="" t,struct="" std::char_traits<unsigned="" short="">,class std::allocator <unsigned short="">> __thiscall CConsole::Get AdminName(void)" (?GetAdminName@CConsole@@UAE?AV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@s td@@XZ) FLHook.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall CConsole::DoPrint(cla ss std::basic_string<unsigned short,struct="" std::char_traits<unsigned="" short="">,class std::allocator <unsigned short="">>)" (?DoPrint@CConsole@@UAEXV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@@Z) C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\out\MSC71.Debug.Debug_full.Dll\FLhook.dll : fatal error LNK1120: 44 unresolved externals There were errors. (0:02.38)</unsigned></unsigned></unsigned></unsigned></unsigned></unsigned></unsigned></unsigned></unsigned></unsigned></unsigned></unsigned></unsigned></unsigned></char></char,struct></unsigned></unsigned></char></char,struct></char></char,struct></char></char,struct></char></char,struct></char></char,struct></unsigned></unsigned></unsigned></unsigned></char></char,struct></unsigned></unsigned></char></char,struct></unsigned></unsigned></unsign></unsigned></struct></struct></struct></struct></struct></char></char,struct></char></char,struct></char></ch></unsigned></unsigned></unsigned></unsigned></unsigned></unsigned>
-
In case you haven’t read this thread, you’ll need to add the HkCbOther.cpp file to the project file since I forgot to update it for 1.6.0.
I tried another method and had these errors
It looks like it isn’t linking to the Windows API correctly. I think this could be caused by having the Platform SDK library directory before the VC++ Toolkit library directory, but I’m not sure.
-
Small idea:
I m always irritated by players spawning / undocking from destroyed stuff.
Maybe it could be a nice feature, to ‘lock’ chars, which are docked at a destroyed
solar or mobile base for a hour or 2.Might be possible, so FL keeps you on the base, if you have no scanner ……