Server Database Editor

@@Tokeiburu

the link is broke
default_tongue.png
(yeah I know it is the same link for all posts xD)

 
Your version 1.1.7.4 do somethings weird :

It removes all the commentary including hercules' ones.

//================= Hercules Database =====================================
//=       _   _                     _
//=      | | | |                   | |
//=      | |_| | ___ _ __ ___ _   _| | ___  ___
//=      |  _  |/ _ \ '__/ __| | | | |/ _ \/ __|
//=      | | | |  __/ | | (__| |_| | |  __/\__ \
//=      \_| |_/\___|_|  \___|\__,_|_|\___||___/
//================= License ===============================================
It removes too in mob_db2 :

Code:
	Sp: 0
	Exp: 0
	JExp: 0
	AttackRange: 1
	Race: "RC_Formless"
	MvpExp: 0
 
Comments have always been removed for Hercules because of the format used. The first issue is that the script parts must be put on one line, so the file parser converts it and the comments are removed at the same time (they can't be kept). The second issue is when you save the file; you can't easily find item IDs (they could be in comment blocks) unlike rAthena and this prevent me from editing the original file itself (and the conf format is not friendly for such an operation). So instead, SDE rewrites the entire file from the loaded data, and since the comments aren't loaded, they get removed.

I could look into alternatives, which is what I did for constants.conf (the comments are kept), but it requires a lot more work on my end. It might happen if I have more time, but right now there's no plan on fixing that issue.

 
@@Tokeiburu, master can you add option to remove mob drops at mob_db not found in item_db?  it would be very useful for the maintenance of mob_db.  Very useful if server is targeting specific episode like EP 8. by removing items not belong to EP8, we will no longer go to each line at mob_db and remove those items like those cards introduced at Lighthalzen.  Instead, delete those item at item_db and will update mob_db
default_biggrin.png


 
Is there a posibility to extract all item icons and collection by id with SDE???

Regards,

 
Last edited by a moderator:
Hey there, Im not entirely sure but I think a update to the skill_db broke it in the SDE. I can't open the skills via SDE anymore.

 
I hope big update which will fix difference between SDE structure's & hercules & rathena ones. Right @Tokeiburu

 
Last edited by a moderator:
@Tokeiburu

Where can i find this error ? 

Code:
--------------          Message          --------------
Couldn't save the accessory item files. Error code = 2, state = OK#ACCESSORY_IDs missing
--------------        Stack trace        --------------
   at GrfToWpfBridge.Application.DefaultErrorHandler._reportAnyManagedExceptions(String message, Exception exception, ErrorLevel errorLevel)
   at GrfToWpfBridge.Application.DefaultErrorHandler.Handle(Exception exception, ErrorLevel errorLevel)
   at SDE.Tools.DatabaseEditor.Engines.LuaEngine.LuaHelper.WriteViewIds(ServerDbs dbSource, AbstractDb`1 db)
   at SDE.Tools.DatabaseEditor.Generic.Core.DbItems.WriteDb(String dbPath, String subPath, ServerType serverType, FileType fileType)
   at SDE.Tools.DatabaseEditor.Engines.DatabaseEngine.SdeDatabase.Save(AsyncOperation ap, IProgress progress)
   at SDE.Tools.DatabaseEditor.SdeEditor._save()
   at GRF.Threading.GrfThread.<>c__DisplayClass4.<Start>b__3()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

--------------         Exception         --------------
System.Exception: Couldn't save the accessory item files. Error code = 2, state = OK#ACCESSORY_IDs missing ---> System.Exception: Invalid table file (lua/lub), missing 'ACCESSORY_IDs'.
   at SDE.Tools.DatabaseEditor.Engines.LuaEngine.LuaHelper.GetLuaTable(LuaParser parser, String tId)
   at SDE.Tools.DatabaseEditor.Engines.LuaEngine.AccessoryTable..ctor(AbstractDb`1 db, Byte[] dataAccId, Byte[] dataAccName)
   at SDE.Tools.DatabaseEditor.Engines.LuaEngine.LuaHelper.WriteViewIds(ServerDbs dbSource, AbstractDb`1 db)
   --- End of inner exception stack trace ---
--------------          Message          --------------
Invalid table file (lua/lub), missing 'ACCESSORY_IDs'.
--------------      Inner exception      --------------
System.Exception: Invalid table file (lua/lub), missing 'ACCESSORY_IDs'.
   at SDE.Tools.DatabaseEditor.Engines.LuaEngine.LuaHelper.GetLuaTable(LuaParser parser, String tId)
   at SDE.Tools.DatabaseEditor.Engines.LuaEngine.AccessoryTable..ctor(AbstractDb`1 db, Byte[] dataAccId, Byte[] dataAccName)
   at SDE.Tools.DatabaseEditor.Engines.LuaEngine.LuaHelper.WriteViewIds(ServerDbs dbSource, AbstractDb`1 db)
 
Hi there,

I'm getting this error when trying to connect to my db via Sftp

-------------- Message --------------
Algorithm negotiation fail
-------------- Stack trace --------------
at GrfToWpfBridge.Application.DefaultErrorHandler._reportAnyManagedExceptions(String message, Exception exception, ErrorLevel errorLevel)
at GrfToWpfBridge.Application.DefaultErrorHandler.Handle(Exception exception, ErrorLevel errorLevel)
at SDE.View.Dialogs.FtpLogin._buttonExplore_Click(Object sender, RoutedEventArgs e)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
at System.Windows.Controls.Primitives.ButtonBase.OnClick()
at System.Windows.Controls.Button.OnClick()
at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at System.Windows.Window.ShowHelper(Object booleanBox)
at System.Windows.Window.Show()
at System.Windows.Window.ShowDialog()
at SDE.View.SdeEditor._buttonSftp_Click(Object sender, RoutedEventArgs e)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
at System.Windows.Controls.Primitives.ButtonBase.OnClick()
at System.Windows.Controls.Button.OnClick()
at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at System.Windows.Application.RunDispatcher(Object ignore)
at System.Windows.Application.RunInternal(Window window)
at System.Windows.Application.Run(Window window)
at SDE.GRFEditorMain.Main(String[] args)

-------------- Exception --------------
Tamir.SharpSsh.jsch.JSchException: Algorithm negotiation fail
at Tamir.SharpSsh.jsch.Session.connect(Int32 connectTimeout)
at Tamir.SharpSsh.SshBase.ConnectSession(Int32 tcpPort)
at Tamir.SharpSsh.SshBase.Connect(Int32 tcpPort)
at SDE.Editor.Engines.SftpFileManager.Open()
at SDE.View.Dialogs.ExplorerDialog..ctor(String path, SdeEditor editor)
at SDE.View.Dialogs.FtpLogin._buttonExplore_Click(Object sender, RoutedEventArgs e)


If it helps, the server is running on Debian 8 Jessie, fairly sure it's fully updated, also on a remote server. After doing a bit of research into it, it seems that the jsch is outdated / needs updating? 

Side note, running the SDE on W10 (not sure if that makes a difference either!)

Let me know if you require any further details from me! 

//edit (incase you need it!)

Also running SDE v1.1.8.1
Assembly v1.0.3.419

 
Last edited by a moderator:
Anyone had a similar issue, or know how to fix? Half tempted to download the source code and try to fix it myself at this rate!

 
i have same problem, SDE must be update , hercules change alot structure.

 
Hi there Tokeiburu, greetings!

tl;dr - What do I want?

Would you have some time to talk to me a little about how to work on updating this project?

More detail

I've seen screenshots of your work (SDE) and tried running it, but it's not working with the current version of Hercules.

I am interested in trying to fix it up.

  • I think it is a very useful tool.
  • I think that, with the complexity of the features it is capable of, the software requires sufficient documentation to help newbie players do the basics (and veterans more detailed docs for complex tasks).
  • I have some experience in Visual Studio and C# development, so I am confident that I can read, fork, and fix issues on the project.
  • I am generally confident in my programming skills AND documentation skills, but I feel that I lack in the area of:

    Resource decoding
  • User interface fixing in C#
  • In the case of the GRF editor, I feel I would have difficulty figuring out how to save the resources in the proper format (encoding etc.) - but anyway, I'm interested in fixing SDE not GRF.

[*]I am slightly confused with the software architecture you designed for SDE, so a little guidance from your end would be highly appreciated:

  • Where do you think I should work on first?
  • Any tip for how to understand how you separated your code?
  • Would you have a little time to spare to talk to me over a call about it?

I know you must be busy, so no rush on this. I just recently freed up time on my end, so I am back here playing/running RO. I want to contribute back to the community so I want to start working on projects that I think are very valuable. Yours being at the top of my head.

I pulled a copy and tried running it but encountered problems. I can write up a thread to describe the issue I encountered so that I can document my steps towards updating the tool, but I wanted to message you first to see if you'll be able to give even a little support in the updating of the tool.

Credentials

I've been going around Hercules and rAthena, documenting problems I encounter and how I fixed them, and updating Wiki documentation. Here are a few, which might give you an idea of my commitment and language quality:

Thanks again for this great contribution. Hoping to get it back into working condition so I can experience the tool to its fullest value. Great work!

fouxhackd (Github darrensapalo)

Note:
This was supposed to be a private message, but since PMing you is disabled for now, I decided to post here.

 
This really needs an update...totally willing to pay for it.

 
Back
Top