Hineios

  • Content Count

    30
  • Joined

  • Last visited

Community Reputation

13 Good

2 Followers

About Hineios

  • Rank
    Junior Member
...

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Enable
  1. Great, I've tested it and I made a pull request on GitHub Greatest of lucks with the project!
  2. @Bizzi I've been working on a PT-PT translation, but I would like to test it before making a pull request. Is there a way to test it without having to compile everything from scratch?
  3. It has to do with the replication system the game uses. There are certain stuff that only exist on the serve, brains are one of these things, certain components, and many other things get replicated to the clients without actually existing on the clients. If you are hosting a game (with no caves) there will be no problem since you are running the game locally (the server is also the client, put in simple words). With caves, since you need to have dedicated servers for caves and up-top. So, in fact, you are actually running three different instances of the game: one that hosts the caves, one that hosts the regular world, and another one which will be the client. Also, the prints you are talking about are being printed in the server's log. Check your log files (In Windows it will be in your Documents/Klei/Don't Starve Together folder) I hope I have shed some light on your problem. Once you see the log's with the errors I thing you'll be able to advance. PS: On a project I'm working in, I needed to use RPC's to change the brains of a character, but I was swapping the whole brain for a new one upon a click. If you just what to had some behaviour to some brain, I think that your approach is the correct one.
  4. So, I've figured this out so I'll just leave the answer here for another helpless soul looking for guidance. It's actually quite simple. You need only to register an RPC handler (I putted mine in the modmain.lua), like so: AddModRPCHandler(modname, "My custom name here", function(player) if player then -- My stuff here -- This portion of the code will be executed on the server, -- so it will have access to everything an entity has end end) And then call this handler like so: SendModRPCToServer(MOD_RPC[modname]["My custom name here"]) If you which to pass additional data to the handler it is also easy (user configurations for example): AddModRPCHandler(modname, "My custom name here", function(player, other_data) if player then -- My stuff here end end) SendModRPCToServer(MOD_RPC[modname]["My custom name here"], other_data) Cheers!
  5. It actually makes sense... Also, there is no package.cpath defined to load dll's. I tried defining a cpath for loading dll's and indeed got an error message: [00:03:14]: error loading module 'sqlite3' from file 'C:\Users\fabio\workspace\walter\sqlite3.dll': DLL Loading blocked for - C:\Users\fabio\workspace\walter\sqlite3.dll So that's definitely a no. Well, the http server will have to do. Thank you @CarlZalph
  6. Basically I wanted to connect to a sqlite DB for logging and other stuff. However the interpreter does not come with the luasql package and I can't seem to link the dll with the required drivers it in my mod... From what I've read it should be possible (not necessarily simple), but I haven't been able to figure it out yet... Is this possible?
  7. So, I've been developing a mod that adds a custom brain to your character. So far I've developed locally so I haven't run into any problems regarding clients and stuff. But as I understand it, brains only run on the server and the behaviour then gets synced to the clients, which makes sense. The purpose of my mod is to be use the brain as a button to toggle the brains between my brain and the default brain for characters. Currently I have this code local function SetSelfAI() print("Enabling Artificial Wilson") local brain = GLOBAL.require "brains/artificialwilson" GLOBAL.ThePlayer:SetBrain(brain) GLOBAL.ThePlayer:RestartBrain() ArtificalWilsonEnabled = true end local function SetSelfNormal() print("Disabling Artifical Wilson") local brain = GLOBAL.require "brains/wilsonbrain" GLOBAL.ThePlayer:SetBrain(brain) GLOBAL.ThePlayer:RestartBrain() ArtificalWilsonEnabled = false end Which is working well locally. However when a player (running as a client) tries to use the button it crashes due to missing components (which I understand is normal). From what I've read I think I need to use RPC. Register an RPC handler both on the server and the client and make the client call this function through RPC whenever I need to switch brains. My question is, how do I do this? I can't figure it out and would appreciate some help. On another topic. I understand that there are several ways to do the same thing, but Is this okay to make the brain clickable? local function MakeClickableBrain(self, owner) local BrainBadge = self BrainBadge:SetClickable(true) BrainBadge.OnMouseButton = function(self,button,down,x,y) -- My Stuff here end end AddClassPostConstruct("widgets/sanitybadge", MakeClickableBrain)
  8. Well I've been trying to run my dedicated server on Ubuntu but I've been unsuccessful so far... I've followed this guide to the letter but when I run the script it stops after some time. This is the output I get: root@dst:~# ~/run_dedicated_servers.sh Redirecting stderr to '/root/Steam/logs/stderr.txt' [ 0%] Checking for available updates... [----] Verifying installation... Steam Console Client (c) Valve Corporation -- type 'quit' to exit -- Loading Steam API...Created shared memory when not owner SteamController_Shared_mem OK. Connecting anonymously to Steam Public...Logged in OK Waiting for license info...OK Update state (0x5) validating, progress: 0.00 (0 / 739405935) Update state (0x5) validating, progress: 19.83 (146588559 / 739405935) Update state (0x5) validating, progress: 52.83 (390657723 / 739405935) Update state (0x5) validating, progress: 88.22 (652337268 / 739405935) Success! App '343050' fully installed. Caves: [00:00:00]: PersistRootStorage is now /root/.klei//DoNotStarveTogether/MyDediServer/Caves/ Master: [00:00:00]: PersistRootStorage is now /root/.klei//DoNotStarveTogether/MyDediServer/Master/ Master: [00:00:00]: Starting Up Master: [00:00:00]: Version: 202070 Master: [00:00:00]: Current time: Wed Jan 11 13:56:10 2017 Master: Master: [00:00:00]: System Name: Linux Master: [00:00:00]: Host Name: dst Master: [00:00:00]: Release(Kernel) Version: 4.4.0-57-generic Master: [00:00:00]: Kernel Build Timestamp: #78-Ubuntu SMP Fri Dec 9 23:50:32 UTC 2016 Master: [00:00:00]: Machine Arch: x86_64 Master: [00:00:00]: Don't Starve Together: 202070 LINUX Master: [00:00:00]: Build Date: 1644 Master: [00:00:00]: Parsing command line Master: [00:00:00]: Command Line Arguments: -console -cluster MyDediServer -monitor_parent_process 13988 -shard Master Master: [00:00:00]: [WARNING] -console has been deprecated: Use the [MISC] / console_enabled setting instead. Master: [00:00:00]: Initializing distribution platform Master: [00:00:00]: ....Done Caves: [00:00:00]: Starting Up Caves: [00:00:00]: Version: 202070 Caves: [00:00:00]: Current time: Wed Jan 11 13:56:10 2017 Caves: Caves: [00:00:00]: System Name: Linux Caves: [00:00:00]: Host Name: dst Caves: [00:00:00]: Release(Kernel) Version: 4.4.0-57-generic Caves: [00:00:00]: Kernel Build Timestamp: #78-Ubuntu SMP Fri Dec 9 23:50:32 UTC 2016 Caves: [00:00:00]: Machine Arch: x86_64 Caves: [00:00:00]: Don't Starve Together: 202070 LINUX Caves: [00:00:00]: Build Date: 1644 Caves: [00:00:00]: Parsing command line Caves: [00:00:00]: Command Line Arguments: -console -cluster MyDediServer -monitor_parent_process 13988 -shard Caves Caves: [00:00:00]: [WARNING] -console has been deprecated: Use the [MISC] / console_enabled setting instead. Caves: [00:00:00]: Initializing distribution platform Caves: [00:00:00]: ....Done Caves: [00:00:00]: THREAD - started 'GAClient' (4133235520) Caves: [00:00:00]: CurlRequestManager::ClientThread::Main() Master: [00:00:00]: THREAD - started 'GAClient' (4132711232) Master: [00:00:00]: CurlRequestManager::ClientThread::Main() Caves: [00:00:00]: ProfileIndex:10.80 Master: [00:00:00]: ProfileIndex:10.57 Caves: [00:00:00]: [Connect] PendingConnection::Reset(true) Master: [00:00:00]: [Connect] PendingConnection::Reset(true) Master: [00:00:00]: Network tick rate: U=15(2), D=0 Caves: [00:00:00]: Network tick rate: U=15(2), D=0 Caves: [00:00:00]: Network tick rate: U=15(2), D=0 Master: [00:00:00]: Network tick rate: U=15(2), D=0 Caves: [00:00:00]: OnLoadPermissionList: /root/.klei//DoNotStarveTogether/MyDediServer/blocklist.txt (Failure) Master: [00:00:00]: OnLoadPermissionList: /root/.klei//DoNotStarveTogether/MyDediServer/blocklist.txt (Failure) Master: [00:00:00]: OnLoadPermissionList: /root/.klei//DoNotStarveTogether/MyDediServer/adminlist.txt (Failure) Master: [00:00:00]: OnLoadUserIdList: /root/.klei//DoNotStarveTogether/MyDediServer/whitelist.txt (Failure) Caves: [00:00:00]: OnLoadPermissionList: /root/.klei//DoNotStarveTogether/MyDediServer/adminlist.txt (Failure) Caves: [00:00:00]: OnLoadUserIdList: /root/.klei//DoNotStarveTogether/MyDediServer/whitelist.txt (Failure) Master: [00:00:00]: THREAD - started 'ConsoleInput' (4126145344) Caves: [00:00:00]: Token retrieved from: /root/.klei//DoNotStarveTogether/MyDediServer/cluster_token.txt Caves: [00:00:00]: Token retrieved from: /root/.klei//DoNotStarveTogether/MyDediServer/cluster_token.txt Caves: [00:00:00]: cGame::InitializeOnMainThread Master: [00:00:00]: Token retrieved from: /root/.klei//DoNotStarveTogether/MyDediServer/cluster_token.txt Master: [00:00:00]: Token retrieved from: /root/.klei//DoNotStarveTogether/MyDediServer/cluster_token.txt Master: [00:00:00]: cGame::InitializeOnMainThread Caves: [00:00:00]: THREAD - started 'ConsoleInput' (4126145344) Caves: [00:00:00]: Renderer initialize: Okay Master: [00:00:00]: Renderer initialize: Okay Caves: [00:00:01]: AnimManager initialize: Okay Master: [00:00:01]: AnimManager initialize: Okay Master: [00:00:01]: Buffers initialize: Okay Caves: [00:00:01]: Buffers initialize: Okay Master: [00:00:01]: cDontStarveGame::DoGameSpecificInitialize() Caves: [00:00:01]: cDontStarveGame::DoGameSpecificInitialize() Caves: [00:00:01]: FMOD Error: An invalid object handle was used. Caves: [00:00:01]: GameSpecific initialize: Okay Caves: [00:00:01]: cGame::StartPlaying Master: [00:00:01]: FMOD Error: An invalid object handle was used. Master: [00:00:01]: GameSpecific initialize: Okay Master: [00:00:01]: cGame::StartPlaying Master: [00:00:01]: LOADING LUA Caves: [00:00:01]: LOADING LUA Caves: [00:00:01]: DoLuaFile scripts/main.lua Master: [00:00:01]: DoLuaFile scripts/main.lua Master: [00:00:01]: DoLuaFile loading buffer scripts/main.lua Caves: [00:00:01]: DoLuaFile loading buffer scripts/main.lua Master: [00:00:01]: running main.lua Master: Caves: [00:00:01]: running main.lua Caves: Master: [00:00:01]: loaded modindex Caves: [00:00:01]: loaded modindex Caves: [00:00:01]: ModIndex: Beginning normal load sequence for dedicated server. Caves: Master: [00:00:01]: ModIndex: Beginning normal load sequence for dedicated server. Master: Caves: [00:00:01]: DownloadMods(0) Master: [00:00:01]: DownloadMods(0) Master: [00:00:01]: FMOD Error: An invalid object handle was used. Caves: [00:00:01]: FMOD Error: An invalid object handle was used. Caves: [00:00:02]: LOADING LUA SUCCESS Master: [00:00:02]: LOADING LUA SUCCESS Caves: [00:00:02]: PlayerDeaths could not load morgue Caves: [00:00:02]: PlayerHistory could not load player_history Master: [00:00:02]: PlayerDeaths could not load morgue Master: [00:00:02]: PlayerHistory could not load player_history Caves: [00:00:02]: bloom_enabled false Master: [00:00:02]: bloom_enabled false Caves: [00:00:02]: loaded saveindex Caves: [00:00:02]: OnFilesLoaded() Caves: [00:00:02]: OnUpdatePurchaseStateComplete Master: [00:00:02]: loaded saveindex Master: [00:00:02]: OnFilesLoaded() Master: [00:00:02]: OnUpdatePurchaseStateComplete Master: [00:00:04]: Load FE Caves: [00:00:04]: Load FE Caves: [00:00:05]: Load FE: done Caves: [00:00:05]: ModIndex: Load sequence finished successfully. Caves: [00:00:05]: Reset() returning Master: [00:00:05]: Load FE: done Master: [00:00:05]: ModIndex: Load sequence finished successfully. Master: [00:00:05]: Reset() returning Caves: [00:00:06]: [200] Account Communication Success (6) Master: [00:00:06]: [200] Account Communication Success (6) Master: [00:00:06]: Received (KU_rQNmn-j1) from TokenPurpose Master: [00:00:06]: Starting Dedicated Server Game Master: [00:00:06]: Network tick rate: U=15(2), D=0 Caves: [00:00:06]: Received (KU_rQNmn-j1) from TokenPurpose Caves: [00:00:06]: Starting Dedicated Server Game Caves: [00:00:06]: Network tick rate: U=15(2), D=0 Caves: [00:00:06]: About to start a server with the following settings: Master: [00:00:06]: About to start a server with the following settings: Caves: [00:00:06]: Dedicated: true Master: [00:00:06]: Dedicated: true Caves: [00:00:06]: Online: true Master: [00:00:06]: Online: true Caves: [00:00:06]: Passworded: true Master: [00:00:06]: Passworded: true Caves: [00:00:06]: ServerPort: 11001 Master: [00:00:06]: ServerPort: 11000 Caves: [00:00:06]: SteamAuthPort: 8769 Master: [00:00:06]: SteamAuthPort: 8768 Caves: [00:00:06]: SteamMasterServerPort: 27019 Master: [00:00:06]: SteamMasterServerPort: 27018 Caves: [00:00:06]: ClanID: false Master: [00:00:06]: ClanID: false Caves: [00:00:06]: ClanOnly: false Master: [00:00:06]: ClanOnly: false Caves: [00:00:06]: ClanAdmin: false Master: [00:00:06]: ClanAdmin: false Caves: [00:00:06]: LanOnly: false Master: [00:00:06]: LanOnly: false Caves: [00:00:06]: FriendsOnly: false Master: [00:00:06]: FriendsOnly: false Caves: [00:00:06]: EnableAutosaver: true Master: [00:00:06]: EnableAutosaver: true Caves: [00:00:06]: PVP: true Master: [00:00:06]: PVP: true Caves: [00:00:06]: MaxPlayers: 6 Master: [00:00:06]: MaxPlayers: 6 Caves: [00:00:06]: GameMode: survival Master: [00:00:06]: GameMode: survival Caves: [00:00:06]: OverridenDNS: Master: [00:00:06]: OverridenDNS: Caves: [00:00:06]: PauseWhenEmpty: true Master: [00:00:06]: PauseWhenEmpty: true Caves: [00:00:06]: VoteEnabled: true Master: [00:00:06]: VoteEnabled: true Caves: [00:00:06]: InternetBroadcasting: true Master: [00:00:06]: InternetBroadcasting: true Caves: [00:00:06]: Intent: cooperative Master: [00:00:06]: Intent: cooperative Master: [00:00:06]: Online Server Started on port: 11000 Caves: [00:00:06]: Online Server Started on port: 11001 Caves: [00:00:06]: Collecting garbage... Master: [00:00:06]: Collecting garbage... Caves: [00:00:06]: lua_gc took 0.05 seconds Master: [00:00:06]: lua_gc took 0.05 seconds Master: [00:00:06]: ~ShardLuaProxy() Caves: [00:00:06]: ~ShardLuaProxy() Caves: [00:00:06]: ~ItemServerLuaProxy() Master: [00:00:06]: ~ItemServerLuaProxy() Caves: [00:00:06]: ~InventoryLuaProxy() Master: [00:00:06]: ~InventoryLuaProxy() Caves: [00:00:06]: ~NetworkLuaProxy() Master: [00:00:06]: ~NetworkLuaProxy() Caves: [00:00:06]: ~SimLuaProxy() Master: [00:00:06]: ~SimLuaProxy() Master: [00:00:06]: lua_close took 0.08 seconds Caves: [00:00:06]: lua_close took 0.08 seconds Master: [00:00:06]: ReleaseAll Master: [00:00:06]: ReleaseAll Finished Master: [00:00:06]: cGame::StartPlaying Caves: [00:00:06]: ReleaseAll Caves: [00:00:06]: ReleaseAll Finished Caves: [00:00:06]: cGame::StartPlaying Caves: [00:00:06]: LOADING LUA Master: [00:00:06]: LOADING LUA Master: [00:00:06]: DoLuaFile scripts/main.lua Master: [00:00:06]: DoLuaFile loading buffer scripts/main.lua Caves: [00:00:06]: DoLuaFile scripts/main.lua Caves: [00:00:06]: DoLuaFile loading buffer scripts/main.lua Master: [00:00:07]: running main.lua Master: Caves: [00:00:07]: running main.lua Caves: Caves: [00:00:07]: loaded modindex Master: [00:00:07]: loaded modindex Caves: [00:00:07]: ModIndex: Beginning normal load sequence for dedicated server. Caves: Master: [00:00:07]: ModIndex: Beginning normal load sequence for dedicated server. Master: Master: [00:00:07]: LOADING LUA SUCCESS Caves: [00:00:07]: LOADING LUA SUCCESS Master: [00:00:07]: PlayerDeaths could not load morgue Caves: [00:00:07]: PlayerDeaths could not load morgue Master: [00:00:07]: PlayerHistory could not load player_history Master: [00:00:07]: bloom_enabled false Caves: [00:00:07]: PlayerHistory could not load player_history Master: [00:00:07]: loaded saveindex Caves: [00:00:07]: bloom_enabled false Caves: [00:00:07]: loaded saveindex Master: [00:00:07]: OnFilesLoaded() Master: [00:00:07]: OnUpdatePurchaseStateComplete Caves: [00:00:07]: OnFilesLoaded() Caves: [00:00:07]: OnUpdatePurchaseStateComplete Caves: [00:00:07]: Unload FE Master: [00:00:07]: Unload FE Caves: [00:00:07]: Unload FE done Master: [00:00:07]: Unload FE done Caves: [00:00:08]: LOAD BE Master: [00:00:08]: LOAD BE root@dst:~# Caves: [00:00:13]: LOAD BE: done Caves: [00:00:13]: Loading world: session/6618D768E5CE610B/0000000002 Caves: [00:00:13]: Save file is at version 4.5 Caves: [00:00:13]: Begin Session: 6618D768E5CE610B Caves: [00:00:13]: saving to server_temp/server_save Caves: [00:00:13]: MiniMapComponent::AddAtlas( minimap/minimap_data.xml ) Caves: [00:00:14]: Loading Nav Grid Caves: [00:00:14]: [Shard] Slave is waiting for LUA... ls dontstarvetogether_dedicated_server run_dedicated_servers.sh Steam steamcmd root@dst:~#
  9. Awesome, thanks @DarkXero This was indeed the kind of confirmation I was looking for! I'll try and get the theme for the dissertation approved!
  10. Just saw on mods dir that I could ask for this guy @Ipsquiggle
  11. Hi to you all. I'm a MSc student and I'm currently searching for a topic to work on my dissertation. Since I love Don't Starve and my favorite area in Computer Science is Artificial intelligence I thought "Why not combine both?". The general idea is to create an autonomous character that will play the game along side with human players. Building stuff and collaboration you or simply making your life harder by stealing resources from you and attacking you. I'm very new to modding (just started) and I need to understand if this is possible. My problem is, do the available functionalities in modding provide enough capabilities to accomplish this? For example, is it possible to have a character interact with a science machine and build a chest? Do any of the advanced modders can give me a tip? Thanks in advance for your help. Best regards, Fábio